Фильтрация Angular UI-Grid по строгому соответствию

Я создаю таблицу с помощью Angular UI-Grid и хочу отфильтровать содержимое таблицы по строгому совпадению. По умолчанию ввод «Car» будет соответствовать «Carol», но я хочу, чтобы фильтрация UI-Grid совпадала только в том случае, если ввод равен записи таблицы.


person user3599828    schedule 28.07.2015    source источник


Ответы (3)


Попробуй это

{
        field: 'email',
        filter: {
          condition: uiGridConstants.filter.EXACT,
          placeholder: 'your email'
        } 
      }
person Qi Tang    schedule 30.07.2015
comment
Спасибо, этот тип фильтра отсутствует на странице документации API uiGrid. - person Yassin Mokni; 12.01.2017
comment
Кто-нибудь знает, как фильтровать EXACT, если есть uiGridConstants.filter.SELECT ? - person IWI; 27.02.2017

Попытка uiGridConstants.filter.EXACT приводит к выборке также CAR 1, CAR 2.

Если вы хотите получить только «CAR», исключая «CAR 1» и «CAR 2», было бы полезно использовать функцию:

{ field: 'name', width :'150', filter: {
        condition: function(searchTerm, cellValue) {
            if (searchTerm === cellValue)
               return -1;
            else 
               return 0;             
          }
    }    
}
person Wahap    schedule 29.06.2016

Сделайте метод фильтра. Вместо ng-repeat="x in items|filter:filterVariable" используйте метод фильтра. В вашем коде контроллера введите:

var myFilter = function(x){
  return x == $scope.filterVariable;
}

и ng-repeat будет выглядеть так:

ng-repeat="x in items | filter:myFilter"
person cbender    schedule 28.07.2015