2017-03-28 4 views
1

Ich verwende UI Select-Steuerelement in meiner Anwendung (source - https://angular-ui.github.io/ui-select/). Es hat ein großes Leistungsproblem (Verzögerung, wenn mit mehr als 2000 Elemente bevölkert). Erprobt mit mdAutocomplete (source - https://material.angularjs.org/1.1.2/api/directive/mdAutocomplete) da es bereits die Virtualisierung unterstützt, aber das Problem mit diesem ist, dass es eine große Anzahl von Betrachtern erstellt (wenn Liste 5000 Elemente hat, erstellt es ~ 15000 Beobachter, obwohl nur 20 Elemente auf einem gerendert werden) Zeit). Irgendwelche Erkenntnisse darüber, wie man diese Leistungsprobleme in irgendeiner der Kontrolle lösen kann. Ich merke, ich muss eine große Menge an Gegenständen - ~ 10K Artikel unterstützen.AngularJS ui-Leistungsprobleme auswählen

Danke für Ihre Hilfe!

+1

Stellen Sie sicher, dass Sie in Ihrer "iu-select-choices" Iterationsschleife "order by" haben – tanmay

+0

Sie in der Wiederholung-Anweisung bedeuten? – user1531186

+0

ja, in Wiederholung. – tanmay

Antwort

0

es gibt keine direkte Lösung für diese, aber ja eine gute Problemumgehung ist verfügbar: begrenzen Sie Ihre Dropdown-Ergebnisse auf eine bestimmte Anzahl, es sei denn, es war search..exa.

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

Oder eine andere Logik. In jedem Fall ist es für den Benutzer nicht einmal nützlich, 10K-Ergebnisse zu einem bestimmten Zeitpunkt anzuzeigen.

Verwandte Themen