2014-10-18 13 views
6

Próbuję użyć select2 z zestawem danych o wartości 5000.selektor kątowy2 powolny z dużym zestawem danych

Interakcja jest powolna, zwłaszcza wyszukiwanie. W niedalekiej przyszłości będę musiał obsługiwać zestawy danych o wartości> 500 000.

Wszelkie sugestie, jak sprawić, aby było to skuteczne?

Nie mam żadnych problemów z wydajnością z typem bootstrap, choć przyznano, który ma mniej funkcji i elementów wyświetlających. Nie wiem również, w jaki sposób funkcjonalność wyszukiwania działa z funkcją typeahead.

Oto przykład plunker, tak samo jak demo dla Select2, ale z 5000 wierszy danych http://plnkr.co/edit/RyCTTloW6xp81WvoCzkf?p=preview

<ui-select ng-model="person.selected" theme="select2" ng-disabled="disabled" style="min-width: 300px;"> 
    <ui-select-match placeholder="Select a person in the list or search his name/age...">{{$select.selected.name}}</ui-select-match> 
    <ui-select-choices repeat="person in people | propsFilter: {name: $select.search, age: $select.search}"> 
     <div ng-bind-html="person.name | highlight: $select.search"></div> 
     <small> 
      email: {{person.email}} 
      age: <span ng-bind-html="''+person.age | highlight: $select.search"></span> 
     </small> 
    </ui-select-choices> 
</ui-select> 
+3

Moim zdaniem przy dużym zbiorze danych nie ma sensu dodawać funkcji rozwijanych, należy po prostu użyć polecenia typeahead, z dużymi danymi i nie sądzę, że jest jakaś wartość w podawaniu użytkownikowi listy z wartościami, które zawsze zamierza użyć wyszukaj, aby wybrać pozycję. – PSL

Odpowiedz

1

miałem ten sam problem. Ui-select ma naprawdę słabą wydajność. Proponuję użyć Wybierz. Zachowuje się znacznie lepiej, ale myślę, że 500k może być za dużo. Wirtualne listy materiałów Angular mogą być odpowiedzią. Wypisują tylko kilka opcji na raz i po prostu aktualizują powiązania.

Powiązane problemy