我使用https://github.com/freearhey/vue2-filters中的filterBy过滤器。 该列表大约有5,000条记录。例如,当我按下一个字母时,“ a”过滤大约需要10秒钟。当我输入一个较长的短语时,大约需要一秒钟。有什么方法可以加快对这么大列表的单个字母的过滤吗?
答案 0 :(得分:0)
我认为问题不仅仅在于列表过滤,而且正如Evaldo所指出的那样,Vue在渲染大量组件方面苦苦挣扎。
也可以考虑将filterBy
替换为您自己的过滤器实现。 filterBy
考虑了很多因素,包括列表类型和其他参数。您需要最低限度的费用。
制作数组过滤器的快速方法是
filters: {
filterBy: (list, searchTerm) => {
if (!searchTerm) return list;
return list.filter(x => x.find(searchTerm) !== -1);
},
},