angular - 在通过html中的管道应用搜索过滤器后,角度6将新数据添加到表中不起作用
问题描述
我在 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] === '';
});
});
}
}
解决方案
推荐阅读
- sql - MS Sql 中的小计
- sql - 声明变量时 SQL 日期时间格式不正确
- php - 如何向数据库表中的多个收件人发送电子邮件?
- python - pip 怎么知道要卸载什么?
- buildroot - buildroot - 如何构建工具 v4l2-ctl?
- c# - C++/CLI 包装器只能在 x86 机器上正常工作,我需要 x64 机器
- javascript - Ajax 表单提交不能与 JQuery 鼠标事件(mouseenter 和 mouseleave)一起使用
- reactjs - 如何在酶/玩笑中测试 ComponentWillMount 中的重定向
- java - 使用 RTEditor 时出现 android.view.InflateException
- javascript - Node.js GET 请求期间的“解析错误:标头溢出”