2017-03-28 46 views
1

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

感谢您的帮助!

+1

请确保您在重复声明中指定了'ui-select-choices'迭代循环中的'order by' – tanmay

+0

? – user1531186

+0

是的,重复。 – tanmay

回答

0

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

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

或其他一些逻辑。在任何情况下,一次显示10K的下拉结果对用户来说都是无用的。