2

我在我的应用程序中使用 UI Select 控件(来源 - https://angular-ui.github.io/ui-select/)。它有一个主要的性能问题(当填充超过约 2000 个项目时滞后)。也尝试使用 mdAutocomplete(source - https://material.angularjs.org/1.1.2/api/directive/mdAutocomplete ),因为它已经支持虚拟化,但是这个问题是它创建了大量的观察者(如果列表有 5000 个项目,它创建了约 15000 个观察者,尽管一次只渲染 20 个项目)。关于如何在任何控件中解决此性能问题的任何见解。我会注意到我必须支持大量的项目 - 约 10K 项目。

谢谢你的帮助!

4

1 回答 1

2

对此没有直接的解决方案,但是可以使用一个很好的解决方法:将下拉结果限制为特定数字,除非它是 search..exa。

repeat="username in users | filter: $select.search | limitTo: ($select.search.length <= 1) ? 50 : 20">

或者其他一些逻辑。在任何情况下,一次显示 10K 结果下拉列表对用户来说甚至没有用。

于 2017-04-13T05:46:58.510 回答