javascript - 用大数据过滤列表 - VueJs
问题描述
我使用来自https://github.com/freearhey/vue2-filters的 filterBy 过滤器。该列表有大约 5,000 条记录。例如,当我按一个字母时,“a”过滤大约需要 10 秒。当我输入一个较长的短语时,大约需要一秒钟。有没有什么办法可以加快对这么大列表中单个字母的过滤?
解决方案
我认为问题不在于列表过滤,正如Evaldo指出的那样,Vue 只是在渲染大量组件时遇到了困难。
还可以考虑用filterBy
您自己的过滤器实现替换。filterBy
考虑了很多事情,包括列表类型和附加参数。你需要一个最低限度。制作数组过滤器的快速方法是
filters: {
filterBy: (list, searchTerm) => {
if (!searchTerm) return list;
return list.filter(x => x.find(searchTerm) !== -1);
},
},
推荐阅读
- python - 如何在不使用循环的情况下在python中的集合之间获得笛卡尔积?
- ios - iOS Firebase 为匿名身份验证传播自定义声明
- c# - 记分牌数据传输串口 c#
- json - 在 POST 中使用变量的 curl 中的 invalid_json
- python - 在 python 中读取文件时遇到问题
- java - 如何在java中比较两个CSV文件的数据(逐行)
- python - Django 错误:未定义名称“_”,当我尝试创建新模型时
- ansible - ansible删除远程服务器上的文件
- ruby-on-rails - 如何在 sidekiq 启动时创建连接池以支持已处理的浏览器?
- r - 防止在 RMarkdown 中评估 BASH 块