Я динамически добавляю несколько полей со списком.Если выбрано значение в ранее существующем поле со списком, я удаляю его из массива.Конечный результат должен содержать уникальные значения, выбранные в полях со списком.Я решил добиться этого, отфильтровывая ранее существующие значения.Это правильный подход?Пока мой фильтр не работает.
<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;
};