zoukankan      html  css  js  c++  java
  • antd踩坑: Select 模糊搜索

    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
            }
          }}

    以上。

  • 相关阅读:
    OneProxy与其它数据库中间件的对比
    防御式编程
    google jam 比赛题(设计有问题)
    Python 代码性能优化技巧
    Python性能鸡汤
    如何避免重构带来的危险
    Linux/Unix工具与正则表达式的POSIX规范
    代码抽象层次2
    chinaunix:腾讯面试题
    C++异常处理小例
  • 原文地址:https://www.cnblogs.com/foxcharon/p/13479688.html
Copyright © 2011-2022 走看看