javascript - React-Select v2 逗号分隔搜索

标签 javascript reactjs multi-select react-select

有没有办法使用react-select v2一次搜索多个值?就像我可以让用户粘贴逗号或空格分隔值的列表,并且与这些结果匹配的项目将显示在下拉列表中。

示例 react 选择(我们称之为项目选择器):

<StyledFormItemPicker
          className="emailPicker"
          filterKeys={['label']}
          label="email picker"
          value={emailPickerValue}
          onChange={value => onEmailPickerChange(value)}
          items={users}
          isMulti={true}
        />

onChange 代码:

// allow user to pass in comma separated list to search
export const onEmailPickerChange = props => event => {
  event.persist();
  // split event (value) on space or comma
  // push to an array
  // set that array of strings as the value and see all results?
};

最佳答案

因此,为了实现您的功能,我将使用 Prop filterOption

const filterOption = ({ label, value }, string) => {
  if(string === "") return true;

  const parsedString = string.split(/[, ]+/);
  for (const string of parsedString) {
    // Need to check of string is not empty after the split
    if (string !== "" && (label.includes(string) || value.includes(string)))
      return true;
  } 
  return false;
};

这个想法是用空格或逗号分割输入值(在上面的示例中,我组合了这两个选项)并应用 react-select 对每个值执行的常规过滤实例。

可用的实例 here .

关于javascript - React-Select v2 逗号分隔搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58384250/

相关文章:

javascript - 获取 css 属性的所有可用值

javascript - ComboBox 仅选择列表中的数据,但提交其 3 位数代码 HTML5

javascript - 将外部 Javascript 与全局(窗口)范围内的定义方法隔离开来

javascript - React 上的 componentWillReceiveProps 在触发时不会传递当前属性

javascript - 多项选择,语法错误,无法识别的表达式:option [value = cc dd]

jquery - 使用 jquery 验证插件验证多选

multi-select - 带有复选框插件的 HTML5 多选下拉菜单。设计为标准 <select> 下拉菜单

javascript - 如何使用 javascript 将 RSS 提要的日期转换为荷兰语日期?

javascript - 取消选中reactjs中的复选框不起作用

javascript - setState 不清除选定的值 - React