2016-03-26 5 views
0

Hey Leute, ich möchte ui-select verwenden. Aber ich habe Lager auf der Gruppe-Filtereigenschaft:Wie verwendet man die Gruppenfiltereigenschaft ui-select?

Ich habe ein Array von meinem Server enthält Gruppen:

Gruppe wie folgt aussieht:

{"1":{"id":"1","name":"DLRG Göttingen e.V.","idCategory":"1","categoryName":"Verein"}} 

So gibt es einige Kategorien mehr wie eine Familie, Firma und so weiter.

Ich muss Felder auswählen, eine für Familien und eine andere für alle anderen Kategorien.

Ich habe versucht, das Filtern nach dieser Methode:

filterFamily() { 
     var families = {}; 
// this.groupList contains all groups 
     for (var i; i < this.groupList; i++) { 
     if (this.groupList[i].idKategorie == 2) { 
      families.push(this.groupList[i]); 
     } 
     } 
     return families; 
    } 

In meinem html Ich versuche, den Filter zu verwenden, mit:

<ui-select ng-model="ctrl.group"> 
        <ui-select-match> 
        <span ng-bind="$select.selected.name"></span> 
        </ui-select-match> 
        <ui-select-choices group-filter="ctrl.filterFamily()" repeat="item in ctrl.groupList | propsFilter:{name: $select.search}"> 
        <div ng-if="item.isTag" 
         ng-bind-html="item.name +' <small>(new)</small>'| highlight: $select.search"></div> 
        <div ng-if="!item.isTag" ng-bind-html="item.name + person.isTag| highlight: $select.search"></div> 
        <small> 
         {{item.kategorieName}} 
        </small> 
        </ui-select-choices> 
       </ui-select> 

Aber in diesem Bereich alle anderen Elemente sind zu gezeigt?

Kann mir jemand helfen? Vielen Dank im Voraus

Antwort

0

Ich denke, es muss group-filter="ctrl.filterFamily", nicht group-filter="ctrl.filterFamily()", obwohl ich dieses Projekt noch nie zuvor verwendet haben.

Das ist, wie es in den docs though

+0

verwendet ist das nicht die gewünschte Wirkung nicht nehmen. Meine Lösung ist eine Arbeit. Ich habe ein zweites Array erstellt und wiederhole das aus meiner Sicht. – dominic