我在我的应用程序中使用 UI Select 控件(来源 - https://angular-ui.github.io/ui-select/ )。 它有一个主要的性能问题(当填充超过 2000 个项目时出现滞后)。 也尝试使用 mdAutocomplete(来源 - https://material.angularjs.org/1.1.2/api/directive/mdAutocomplete ) 因为它已经支持虚拟化,但这个问题是它创建了大量的观察者(如果列表有 5000 个项目,它会创建约 15000 个观察者,尽管一次只渲染 20 个项目)。 有关如何解决任何控件中的此性能问题的任何见解。 我会注意到我必须支持大量的项目 - ~10K 项目。
感谢您的帮助!
最佳答案
对此没有直接的解决方案,但是有一个很好的解决方法: 将您的下拉结果限制为特定数字,除非它是搜索..exa。
repeat="username in users | filter: $select.search | limitTo: ($select.search.length <= 1) ? 50 : 20">
或者其他一些逻辑。无论如何,一次在下拉列表中显示 10K 个结果对用户来说根本没有用。
关于AngularJS ui-select 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43065918/