【问题标题】:AngularJS ui-select performance issuesAngularJS ui-select 性能问题
【发布时间】:2017-04-13 13:46:58
【问题描述】:

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

感谢您的帮助!

【问题讨论】:

  • 确保order by 在您的ui-select-choices 迭代循环中
  • 你的意思是在重复语句中?
  • 是的,重复一遍。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 2015-04-10
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2017-01-06
    • 2018-01-29
    相关资源
    最近更新 更多