【发布时间】:2018-02-21 14:33:09
【问题描述】:
我想通过 Json 搜索并获得与用户输入相同的值。 我不知道为什么我的代码不起作用。所以例如用户搜索汽车。如果汽车在 Json 中。它应该在页面中显示汽车一词。 这是我的代码:
管道:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if(!items) return [];
if(!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter( it => {
return it.toString().toLowerCase().includes(searchText);
});
} }
HTML:
<li *ngFor="let char of characters | filter : searchText" >
{{ searchText}}
{{char.name}}
{{char.age}}
</li>
</ul>
组件:
export class SearchComponent {
characters: any[] = [
{
"name": "audi",
"age": 1999
},
{
"name": "toyota",
"age": 2000
}
}
【问题讨论】: