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={{ width: 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
        }
      }}

以上。

 

相关文章:

  • 2021-08-06
  • 2021-05-25
  • 2021-12-13
  • 2021-06-25
  • 2022-01-09
  • 2021-09-20
  • 2021-05-21
  • 2021-12-10
猜你喜欢
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
  • 2021-09-14
  • 2023-01-31
  • 2022-02-08
  • 2022-12-23
相关资源
相似解决方案