Как исключить неопределенные и нулевые при использовании фильтра в таблице угловых материалов? - PullRequest
0 голосов
/ 23 апреля 2019

пожалуйста, помогите. Можно ли как-то исключить undefined и null из фильтрации? Таким образом, если значение ячейки равно нулю или не определено, оно не отображается, когда пользователь вводит в поисковом запросе значение «пусто» или «неопределено».

Данные входящей таблицы:

dataSource: MatTableDataSource

Для ввода применяется следующий метод:

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

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Я нашел ответ, на случай, если кто-нибудь его ищет.

  applyFilter(filterValue: string) {
    this.dataSource.data.forEach(element => {
      for (const key in element) {
        if (!element[key] || element[key] === null) {
          element[key] = '';
        }
      }
    });
    this.dataSource.filter = filterValue.trim().toLowerCase();
  }

Функция applyFilter () добавлена ​​к входным данным и принимает входное значение в качестве аргумента.При фильтрации необходимо проверить входящий массив данных объектов (это будут ваши строки в таблице материалов), а для каждого свойства объекта проверить, является ли он нулевым или неопределенным.Если да - назначьте пустую строку.Эта пустая строка будет затем объединена вместе с другими значениями материалом для фильтрации.

0 голосов
/ 23 апреля 2019

Я думаю, что вы ищете это:

 applyFilter(filterValue: string) {

    if (!!filterValue) {
       this.dataSource.filter = filterValue.trim().toLowerCase();
    }

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...