过滤角物料组合箱

时间:2018-11-21 12:39:07

标签: javascript angularjs angularjs-material

我正在动态添加多个组合框。如果在以前存在的组合框中选择了一个值,那么我将从数组中删除它。最终结果必须在组合框中选择唯一的值。我决定通过过滤掉以前存在的值来实现这一点。这是正确的方法吗? 到目前为止,我的过滤器不起作用。

<div ng-repeat="choice in $ctrl.inputFilterRows">
    <md-select ng-model="choice.name">
        <md-option ng-repeat="filter in choice.filters" value="{{filter.value}}"   | filter:filterTest()>
            {{filter.value}}
        </md-option>
    </md-select>
</div>

<md-button ng-click="$ctrl.addFilter()">ADD FILTER</md-button>

控制器:

var filtersArray = [
    { value: 'Filter1' },
    { value: 'Filter2' },
    { value: 'Filter3' }
];

$scope.filterTest = function () {
    return function (item) {
        if (item.value === 'Filter3') {
            return true;
        }
        return false;
    };
};



self.addFilter = function () {
    var index = self.inputFilterRows.length;
    var newItemNo = index + 1;
    self.inputFilterRows.push({ 'name': 'inputFilter' + newItemNo, 'input': '' });

    self.inputFilterRows[index].filters = filtersArray;
};

1 个答案:

答案 0 :(得分:0)

我今天有一个类似的问题,我所缺少的是使用正确的过滤器。也许这篇文章可以帮助您:

AngularJS doesn't work with 'multiple' flag