Angular 6 无法读取带过滤器的搜索框中未定义的 属性“toLowerCase”
Angular 6 cannot read property "toLowerCase' of undefined in search box with filter
我正在尝试获取搜索结果。我使用了过滤器功能,但出现错误
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())
);
}
谢谢
你能检查一下你的 this.article 数组吗?在某些文章中 category 或 designation 未包含在内,因此会引发此错误。
您可以通过设置条件解决此错误
if(article.category && article.designation){}
我正在尝试获取搜索结果。我使用了过滤器功能,但出现错误
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())
);
}
谢谢
你能检查一下你的 this.article 数组吗?在某些文章中 category 或 designation 未包含在内,因此会引发此错误。
您可以通过设置条件解决此错误
if(article.category && article.designation){}