2017-03-28 76 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的下拉結果對用戶來說都是無用的。