0
我使用的是管道过滤器过滤的项目过滤搜索管道实现
我的申请输入是在search.html文件和ITEMLIST在List.html文件
变化模型不是触发管道变换。 请帮忙。以下是代码片段。
Search.html
<input placeholder="keyword..." [(ngModel)]="search"/>
List.html
<div *ngFor="let item of items | searchPipe:'name':search ">
{{item.name}}
</div>
Search.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name : 'searchPipe',
})
export class SearchPipe implements PipeTransform {
public transform(value, key: string, term: string) {
return value.filter((item) => {
if (item.hasOwnProperty(key)) {
if (term) {
let regExp = new RegExp('\\b' + term, 'gi');
return regExp.test(item[key]);
} else {
return true;
}
} else {
return false;
}
});
}
}
创建小普拉克[链接](http://plnkr.co/edit/jcvOHHJuqjYWdFmlQZB0?p=preview)和你的代码似乎很好......你可以验证功能? – chrystian
您已将搜索输入字段添加到同一模板中,这将起作用。但是,搜索输入字段应该位于不同的组件中,并在不同的组件中填充列表项。 – Sanjaybxl
你能分叉并调整我想要的东西吗? – chrystian