Как отфильтровать ng-таблицы с несколькими значениями в массиве.

В настоящее время я реализую angular-selectize.js ( https://github.com/machineboy2045/angular-selectize), чтобы добавить поле поиска, которое будет принимать несколько значений, и отфильтровать все ячейки в базе данных ng на основе этих значений без указания какие столбцы фильтровать. Аналогично результатам создания поля поиска с вводом и filter:search на ng-repeat но фильтрация с несколькими значениями вместо.

Плункер: http://plnkr.co/edit/701op5FQ0PRJ5FOlF5Mq?p=preview

2 ответа

Решение

Я создал собственный фильтр, и он работал. Плункер: http://plnkr.co/edit/701op5FQ0PRJ5FOlF5Mq?p=preview

  .filter('filterSelectize', function($filter){
    return function(cars, multiArray) {
      if(multiArray.length >= 1){
        var filteredCars = cars;
        for(i=0; i < multiArray.length; i++){
          var filteredCars = $filter('filter')(filteredCars, multiArray[i]);
        }
        return filteredCars;
      }
      else {
        return cars;
      }
    }
  })

Вы также можете пойти "официальным" путем ngTable с ключом фильтра $:

function applyGlobalSearch(){
      var term = self.globalSearchTerm;
      if (self.isInvertedSearch){
        term = "!" + term;
      }
      self.tableParams.filter({ $: term });
    }

https://codepen.io/christianacca/pen/doEbJW?editors=1010

Другие вопросы по тегам