Как изменить работу фильтра таблиц данных в Angular Material? - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь использовать фильтр в таблице угловых данных, например -

Если я ищу « MATCHED », то в столбце состояния таблицы «Данные» появляются и « MATCHED », и « UNMATCHED ». 1009 *

Я знаю, что это потому, что объект данных сокращается и объединяется, и применяется фильтр ( из Документов по угловым материалам ).

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

Я прочитал эту запись , но не смог продолжить.

1 Ответ

0 голосов
/ 30 августа 2018

Вот, пожалуйста, - StackBlitz

Исходя из ответа, на который вы ссылались, нам нужно определить filterPredicate :

export class TableFilteringExample {
  displayedColumns: string[] = ['position', 'name', 'weight', 'symbol'];
  dataSource = new MatTableDataSource(ELEMENT_DATA);

  constructor() {
    this.dataSource.filterPredicate = (data: PeriodicElement, filter: string) => {
      return data.name === filter;
    }
  }

  applyFilter(filterValue: string) {
    this.dataSource.filter = filterValue.trim();
  }
}

Обратите внимание, что toLowerCase() был удален из filterValue.trim().

...