Angularjs 角度选择2慢速,数据集较大

Angularjs 角度选择2慢速,数据集较大,angularjs,ui-select2,angularjs-select2,Angularjs,Ui Select2,Angularjs Select2,我正在尝试使用select2处理5000个数据集 交互很慢,尤其是搜索。在不久的将来,我需要处理>500000的数据集 有没有关于如何提高效率的建议 虽然我承认引导typeahead没有性能问题,但它的功能和显示元素较少。我也不知道typeahead的搜索功能是如何工作的 这里是plunker示例,与select2的演示相同,但包含5000行数据 {{$select.selected.name} 电子邮件:{{person.email} 年龄: 我也有同样的问题。Ui-select的性能非常

我正在尝试使用select2处理5000个数据集

交互很慢,尤其是搜索。在不久的将来,我需要处理>500000的数据集

有没有关于如何提高效率的建议

虽然我承认引导typeahead没有性能问题,但它的功能和显示元素较少。我也不知道typeahead的搜索功能是如何工作的

这里是plunker示例,与select2的演示相同,但包含5000行数据


{{$select.selected.name}
电子邮件:{{person.email}
年龄:

我也有同样的问题。Ui-select的性能非常差。我建议使用Selectize。它的表现要好得多,但我认为500k可能太多了。
角度材质虚拟列表就是答案。它们当时只提供很少的选项,只更新绑定。

5000结果会减慢选择速度,这是毫无疑问的。快速简便的解决方案是限制选择列表中显示结果的数量,如下所示:

<ui-select-choices repeat="person in people | propsFilter: {name: $select.search, age: $select.search} | limitTo: ($select.search.length <= 1) ? undefined : 20">

因此,关键是增加

| limitTo: ($select.search.length <= 1) ? 50 : 20"

| limito:($select.search.length在我看来,对于大数据集,提供下拉功能没有意义。您应该只使用typeahead,对于大数据,我认为为用户提供下拉列表并提供他总是使用搜索来选择项目的值没有任何价值。
| limitTo: ($select.search.length <= 1) ? 50 : 20"