import { Select } from 'antd'; const { Option } = Select; function onChange(value) { console.log(`selected ${value}`); } function onBlur() { console.log('blur'); } function onFocus() { console.log('focus'); } function onSearch(val) { console.log('search:', val); } ReactDOM.render( <Select showSearch style={{ 200 }} placeholder="Select a person" optionFilterProp="children" onChange={onChange} onFocus={onFocus} onBlur={onBlur} onSearch={onSearch} filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 } > <Option value="jack">Jack</Option> <Option value="lucy">Lucy</Option> <Option value="tom">Tom</Option> </Select>, mountNode, );
这是官方示例。
你是不是以为,加一个 onSearch 就行了?
其实不是。
你还需要:
1 设置title
PrjListData.map(item => <Option key={item.id} title={item.name} value={item.id}>{item.name}</Option>
2 设置 filterOption
filterOption={(input, option) => { if (option && option.props && option.props.title) { return option.props.title === input || option.props.title.indexOf(input) !== -1 } else { return true } }}
以上。