同时使用Fuse js过滤多个列表

时间:2019-06-25 10:38:53

标签: reactjs input-filtering

我有3个通过API生成的列表。我想使用Fuse js同时过滤这些列表。我检查了文档,但找不到用于过滤多个列表的解决方案。

我不知道如何将3个不同的列表作为参数传递给Fuse方法。

this.state = {
  a: [],
  b: [],
  c: [],
}

filterVal = (e) =>{
  let searchOptions = {
    keys:['name'], //name is common key across all 3 lists
    includeMatches: true
  }

  var fuse = new Fuse(a,b,c, searchOptions); //not sure how pass 3 lists here
  var filteredResult = fuse.search(e.target.value); //passed the user input value
}

1 个答案:

答案 0 :(得分:1)

您可以像这样合并列表:

var fuse = new Fuse([...a, ...b, ...c] , searchOptions)