#typescript #search #filter #angular6
#машинописный текст #Поиск #Фильтр #angular6
Вопрос:
Я пытаюсь получить результат поиска. я использовал функцию фильтра, но получил сообщение об ошибке
HomeComponent.html:13 ERROR TypeError: Cannot read property 'toLowerCase' of undefined
Мой components.html
<div class="row">
<input type="text" class="form-control" placeholder="search" (input)="filter($event.target.value)">
Mycomponents.ts
filter(keyWord: string) {
if (keyWord === undefined || keyWord.length === 0) {
this.findAllArticles();
return;
}
this.article = this.article.filter(article =>
article.category.toLowerCase().includes(keyWord.toLowerCase()) || article.designation.toLowerCase().includes(keyWord.toLowerCase())
);
}
Спасибо
Комментарии:
1. Предполагая, что то, что вы написали выше, отражает ваш фактический код, свойство
category
ordesignation
одной из ваших статей являетсяundefined
.
Ответ №1:
Не могли бы вы, пожалуйста, проверить свой массив this.article? В некоторых статьях категория или обозначение не включены, поэтому возникает эта ошибка.
Вы можете устранить эту ошибку, поставив условие
if(article.category amp;amp; article.designation){}