如何避免多个角度ui选择中的重复

时间:2016-02-04 11:27:59

标签: angularjs select2

我有一个多个ui-select小部件,我需要通过点击更新按钮来更新选项。

<ui-select multiple ng-model="multipleDemo.selectedPeople" theme="select2" ng-disabled="disabled" style="width: 800px;">
    <ui-select-match placeholder="Select person...">{{$item.name}} &lt;{{$item.email}}&gt;</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>
            {{person.email}}
    </ui-select-choices>
</ui-select>

如果我为人变量使用字符串数组,它可以正常工作。但是当我使用对象数组时,选项中会出现重复项。这是片段http://plnkr.co/edit/Jbhv1stbXEdNnt3of5aW?p=preview我怎样才能避免与对象重复?请帮助。

1 个答案:

答案 0 :(得分:2)

解决方案我在https://github.com/angular-ui/ui-select/issues/580找到了解决方案。您可以过滤从API收到的数据。

$scope.people = response.data.data.filter(function (i) {
    return $multipleDemo.selectedPeople.map(function (e) { return e.id; }).indexOf(i.id) < 0; 
}