如何使用ui-select group-filter属性?

时间:2016-03-26 02:10:39

标签: javascript angularjs ui-select

嘿伙计我想使用ui-select。但我得到了群组过滤器属性:

我的服务器中有一个包含组的数组:

小组看起来像这样:

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

所以有些类别更像家庭,公司等。

我必须选择字段,一个用于家庭,另一个用于所有其他类别。

我尝试使用此方法进行过滤:

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;
    }

在我的html中,我尝试使用过滤器:

   <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>

但是在这个字段中还显示了所有其他项目?

任何人都可以帮助我吗? 提前致谢

1 个答案:

答案 0 :(得分:0)

我认为它必须是group-filter="ctrl.filterFamily",而不是group-filter="ctrl.filterFamily()",尽管我之前从未使用过这个项目。

这就是它在docs though

中的使用方式