Угловой 5 Фильтр Пользовательский фильтр Предикат - PullRequest
0 голосов
/ 08 февраля 2019

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

Получение ошибки ниже при вводе чего-либо в InputBox.

ОШИБКАTypeError: Невозможно прочитать свойство 'toString' из неопределенного в MatTableDataSource.myFilterPredicate [as filterPredicate] (numbers.component.ts: 191) в eval (table.es5.js: 551) в Array.filter () в MatTableDataSource._filterData (таблица.es5.js: 551) на MapSubscriber.eval [как проект] (table.es5.js: 512) на MapSubscriber._next (map.js: 79) на MapSubscriber.Subscriber.next (Subscriber.js: 95) на CombineLatestSubscriber.notifyNext (combLatest.js: 133) в InnerSubscriber._next (InnerSubscriber.js: 25) в InnerSubscriber.Subscriber.next (Subscriber.js: 95)

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Я столкнулся с той же проблемой. Невозможно прочитать свойство 'toString' из undefined в MatTableDataSource.myFilterPredicate [as filterPredicate] Это означает, что в вашей таблице матов может быть еще один столбец, который является полностью пустым, и поэтому он не может читать пустую строку.Решение: попробуйте добавить некоторые значения в пустой столбец или определить условие, которое говорит;если столбец пустой, то не обрабатывайте его как ноль (обрабатывайте как строку "").

0 голосов
/ 08 февраля 2019

Проблема заключается в следующем:

 data.NUMBERRANGEEND.toString().trim().toLowerCase().indexOf(searchString.NUMBERRANGEEND.toLowerCase()) !== -1

toString() ожидает аргумент впереди - поэтому вам нужно отладить ваш data.NUMBERRANGEEND, так как кажется, что он не содержит никакого целочисленного значения для преобразования.

Чтобы определить, где что-то пошло не так, вы можете отладить свойства объекта в бэкэнде, когда они обрабатываются / до того, как их отправляют / запрашивают из внешнего интерфейса.

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