我在Angular 6中有一个Web应用程序。在ts文件中,我有一个带有硬编码数据的数据表。我已经通过管道应用了搜索过滤器。过滤器工作正常,但新的输入按钮无效。每当我单击新条目时,它不会自动显示新字段。只有在我在搜索框中键入内容然后将其删除后,它才会执行。
搜索管道
export class SearchPipe implements PipeTransform {
transform(items: any, filter: any, defaultFilter: boolean): any {
if (!filter) {
return items;
}
if (!Array.isArray(items)) {
return items;
}
if (filter && Array.isArray(items)) {
const filterKeys = Object.keys(filter);
if (defaultFilter) {
return items.filter(item =>
filterKeys.reduce((x, keyName) =>
(x && new RegExp(filter[keyName], 'gi').test(item[keyName])) || filter[keyName] === '', true));
} else {
return items.filter(item => {
return filterKeys.some((keyName) => {
return new RegExp(filter[keyName], 'gi').test(item[keyName]) || filter[keyName] === '';
});
});
}
}