自定义排序反应选择

时间:2020-06-18 03:08:31

标签: javascript reactjs

反应选择通过检查搜索输入中的字符串是否包含在任何选项值中而具有默认的筛选器排序。我要创建一个自定义过滤器,以确保首先显示以输入字符串开头的选项,然后显示包含搜索输入的选项值。我在这里所做的是尝试通过创建自定义过滤器输入(如果该数组值以输入开头)将数组值发送到数组的开头来解决此问题。但是,这会导致过多的报废。如果此函数返回true,则显示该选项。如何使以输入值开头的选项首先出现,而仅包含输入值的选项之后出现?

filterOptions = (candidate, input) => {
    if (candidate.value.toLowerCase().startsWith(input.toLowerCase())) {
        var x = this.state.allMovies.indexOf(candidate.data)
        this.setState({allMovies:array_move(this.state.allMovies,x,0)})
      return true
    }
    else if(candidate.value.toLowerCase().includes(input.toLowerCase())){
      return true
    } 
    return false;
  };

0 个答案:

没有答案