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

    以上。

  • 相关阅读:
    运算符的一些运用规则
    “?:”练习(24小时计时转换12小时计时)
    if条件语句练习(相亲)
    练习
    理解PHP 依赖注入|Laravel IoC容器
    yiibooster+bsie
    PHP dirname() 函数 __FILE__ __DIR__
    per-project basis
    Setting composer minimum stability for your application
    修改mysql的root密码
  • 原文地址:https://www.cnblogs.com/foxcharon/p/13479688.html
Copyright © 2020-2023  润新知