限制fuse.js vue 中的搜索结果

mma*_*ket 4 javascript vue.js fuse.js

我已经使用本指南实现了fuse.js: https: //fusejs.io/ 和代码:

const Fuse = require("fuse.js");
  var fuse = new Fuse(this.$store.state.vendorProducts, options); 
  var result = fuse.search(this.itemTitle);
Run Code Online (Sandbox Code Playgroud)

result 变量包含搜索操作的所有结果。
我只想要结果的前 20 个结果。我可以对结果数组进行切片,但它太慢了,因为它加载了所有数据。
我如何限制搜索结果,例如前 20 项?

小智 6

熔丝搜索的搜索SearchOpts仅包含参数,limit因此

const Fuse = require("fuse.js");
  var fuse = new Fuse(this.$store.state.vendorProducts, options); 
  var result = fuse.search(this.itemTitle, {limit: 20});
Run Code Online (Sandbox Code Playgroud)

通过查看源代码发现了这个功能。

  • 至少在 Fuse.js 4.00 中,“limit”选项只是作为最终结果列表的“切片”实现。所以速度并没有更快。 (3认同)