我在我的应用程序中使用UI Select控件(source - https://angular-ui.github.io/ui-select/)。 它有一个主要的性能问题(当人口约2000件物品时,人口密集)。 尝试使用mdAutocomplete(来源 - https://material.angularjs.org/1.1.2/api/directive/mdAutocomplete) 因为它已经支持虚拟化,但这个问题在于它创造了大量的观察者(如果列表有5000个项目它创建~15000个观察者,尽管一次只渲染20个项目)。 有关如何在任何控件中解决此性能问题的任何见解。 我会注意到我必须支持大量物品 - 约10K物品。
感谢您的帮助!
答案 0 :(得分:2)
没有直接的解决方案,但是可以使用一个好的解决方法: 将您的下拉结果限制为特定数字,除非它是search..exa。
repeat="username in users | filter: $select.search | limitTo: ($select.search.length <= 1) ? 50 : 20">
或其他一些逻辑。在任何情况下,一次显示10K结果下拉对用户来说甚至都没有用。