AngularJS ui-select 性能问题

标签 angularjs angular-material ui-select md-autocomplete

我在我的应用程序中使用 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/

相关文章:

angular - 在自定义元素(Web 组件)中使用 mat-select 打开影子 DOM 外部的选项

javascript - 服务变量更改时范围值不更新

angularjs - Socket.io + Express + Node + Angular 通知

javascript - 内容更改时的 Angular ng-disable 按钮

angularjs - ui-select multiselect 在显示选项时非常慢

css - 如何更改此 ui-select 元素的样式表? ( Angular )

javascript - Angularjs ui-select (select2) 不使用 'Controller as' 语法没有被选中

angularjs - 支持无限嵌套状态的 Angular-UI ui-router

angular - 同一数据源的 2 个 mat-paginator

javascript - Angular Material - md-toolbar 内的 md-tabs。 md-toolbar 中其他元素旁边的 md-tabs