Фильтр Angular 8 - Неразрешенная функция или метод для строки в .toLowerCase () - PullRequest
1 голос
/ 26 сентября 2019

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

Я изменил источник данных списка, и теперь он отображается в форме JSON, а текст поиска выдает ошибку, что toLowerCases () является неразрешенной строкой функции или метода.

Может кто-то сброситьнемного света, спасибо.

transform(items: any[], searchText: string): any[] {
    console.log('Items from filter', items);
    console.log('searchText', searchText);

      if(!items) return [];
      if(!searchText) return items;

      searchText = searchText.toLowerCase();

    return items.filter( it => {
      return it.fullDivisionBranchCode.toLowerCase().includes(searchText);
    });

Ответы [ 2 ]

1 голос
/ 26 сентября 2019

Это может быть потому, что в данном случае это не строка, используйте некоторую пустую проверку для этого типа

return items.filter( it => {
  return ((it.fullDivisionBranchCode||'').toLowerCase()||'').includes(searchText);
});

Надеюсь, это поможет!

0 голосов
/ 26 сентября 2019

Вероятно, это не из-за searchText.toLowerCase ().

Попробуйте проверить, есть ли значение, перед использованием метода .toLowerCase () следующим образом:

return items.filter(it => it.fullDivisionBranchCode && it.fullDivisionBranchCode.toLowerCase().includes(searchText));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...