首页 > 解决方案 > 在通过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] === '';
          });
        });
      }
    }

标签: angulartypescript

解决方案


推荐阅读