【发布时间】:2019-03-25 17:07:52
【问题描述】:
所以我有这张表,里面有数据。现在我想实现一个搜索栏,在搜索后过滤表格。为此,我假设我需要使用管道来过滤搜索。但是,这对我不起作用,我不知道这怎么可能。
表中的数据来自assets下本地存储的json文件。该表写在 app.compinent.html 文件中。
我已经创建了一个管道,但我不知道它里面的代码应该是什么。
这是我正在尝试完成的一个示例,但是数据位于一个表中,该表从本地存储的文件中获取数据。
https://stackblitz.com/edit/angular-5ujgcy
我的代码:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'countrysearch'
})
export class CountrysearchPipe implements PipeTransform {
transform(Country: any[], searchText: string): any[] {
if(!Country) return [];
if(!searchText) return Country;
searchText = searchText.toLowerCase();
return Country.filter( it => {
return it.toLowerCase().includes(searchText);
});
}
}
//html
<input [(ngModel)]="searchText" placeholder="search text goes here">
<ul>
<li *ngFor="let country of Countries | filter : searchText">
{{countries.Name}}
</li>
</ul>
<table border="1">
<!-- ADD HEADERS -->
<tr>
<th>>Name</th>
<th>People</th>
<tr *ngFor="let country of Countries ">
<td>{{ country.Name }}</td>
<td>{{ country.People }}</td>
</tr>
</table>
【问题讨论】:
-
那是什么问题?
-
它不起作用我不确定出了什么问题,我得到了 0 个结果。当我从表中获取数据时,它不起作用。
-
您的示例运行正常,有什么问题?
-
我不想像示例那样获取数据,而是从本地保存的 json 文件中获取数据。过滤器将在写入数据的表中过滤掉
-
那么从 json 获取数据有什么大不了的呢?你试过什么?
标签: javascript angular typescript