Фильтр угловой материал комбинированного списка - PullRequest
0 голосов
/ 21 ноября 2018

Я динамически добавляю несколько полей со списком.Если выбрано значение в ранее существующем поле со списком, я удаляю его из массива.Конечный результат должен содержать уникальные значения, выбранные в полях со списком.Я решил добиться этого, отфильтровывая ранее существующие значения.Это правильный подход?Пока мой фильтр не работает.

<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 голосов
/ 21 ноября 2018

У меня была похожая проблема сегодня, и мне не хватало использовать правильный фильтр.Может быть, этот пост может помочь вам:

AngularJS не работает с флагом «несколько»

...