我试图找到一个方法或插件,能够处理大量数据(~10,000行)并创建一个组合框/下拉列表,可以通过键入或者能够进行过滤一次滚动浏览所有记录。
我已经尝试过查看不同的插件以及编写自己的插件。有很多很棒的选择,但是一旦数据集变大,许多选项的性能就会迅速下降。
我一直在玩chosen。然而,当有10,000条记录导致输入有一些延迟时,我关注的是搜索性能,如果你尝试键入太快,可能会锁定浏览器。在查看所选择的github页面时,它似乎并没有最近有很多发展。
浏览器要求是IE 7+(由于javascript性能不佳,IE确实是最大的问题)& FF(Chrome和Safari是奖金)。
这是一个 jsfiddle ,它有点模仿我将使用的数据类型。我还添加了所选插件,以便您了解其执行情况。
答案 0 :(得分:2)
您可能希望将Datatables作为替代方案。它真的很光滑 - 你可以有一个很好的表格布局(你指的是“行”,所以我假设它是表格数据而不是单个列)并且过滤是“智能/原子” - 例如如果您在搜索框中键入“红色汽车”,它将为您提供包含红色AND汽车的所有行,但不一定在一起。
它也有各种插件 - 包括使用滑块的分页器,对于大页数非常有用。我用2000多条记录运行它,只要你的PC有足够的RAM,它就非常快。它支持通过AJAX进行动态分页作为替代方案。
它实现了“无限滚动”,只需要进行一些参数更改和一两个AJAX调用。
答案 1 :(得分:1)
您确定将大量数据加载到客户端并在那里处理它是否是个好主意?像大多数开发人员通常那样做是不是更好 - 在服务器上,通过ajax处理输入并只加载所需的数据?
现在JS更快,但不是那么快。