Bun*_*bit 6 javascript reactjs antd
如果我有一个带有显示名称(例如“John Smith”)和用户名(例如“johsmi”)的用户对象,我该如何搜索显示名称和用户名?
这个例子只会搜索用户名,即它会找到“johsmi”,而不是“Smith”:
<Select
showSearch={true}
optionFilterProp="children"
placeholder="Select account"
>
{users.map(user => (
<Select.Option value={user.name}>
{user.displayName}
</Select.Option>
))}
</Select>
Run Code Online (Sandbox Code Playgroud)
我最终在 key 属性中添加了显示名称以使其可搜索,但我想知道这是否是推荐的方法:
<Select.Option key={user.displayName} value={user.name}>
{user.displayName}
</Select.Option>
Run Code Online (Sandbox Code Playgroud)
你可以使用filterOption道具
const person = [{
username: 'jstuart123',
displayName: 'John Stuart'
}]
<Select
showSearch
optionFilterProp="children"
onSearch={onSearch}
filterOption={(input, option) =>
option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
|| option.props.value.toLowerCase().indexOf(input.toLowerCase()) >= 0
}
>
{person.map(p => <Option value={p.username}>{p.displayName}</Option>)}
</Select>
Run Code Online (Sandbox Code Playgroud)
示例:https : //codesandbox.io/s/brave-bhabha-m5tuy
最适合我,参考这个问题
<Select
allowClear
showSearch
filterOption={(inputValue, option) =>
option.children.join('').toLowerCase().includes(inputValue.toLowerCase())
}
>
{options.map(option=> (
<Option key={option.id}>{option.name}</Option>
))}
</Select>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7271 次 |
| 最近记录: |