角度过滤表结果无法正常运行

时间:2019-07-14 16:44:31

标签: angular

我在Angular中有一张要过滤的表。在ngOnInit中,我获取数据并将其保存到局部变量中,以便不再次调用DB来获取数据。

这是搜索方法的代码:

search() {
    if (this.searched.length > 0) {
      this.history = this.history.filter(res => {
        return res.DestinationCompany.match(this.searched) || res.OriginCompany.match(this.searched) || res.AuctionSerialNumber.match(this.searched) || res.AuctionSerialNumber.match(this.searched);
      })
    } else {
      this.history = this.historyOrigin;
    }
  }

问题是,当我删除字符时,即使它们可以显示更多结果,结果也不会更新。例如,如果我搜索表达式“ 7”,我得到5个结果,如果我搜索表达式“ 71”,我得到1个结果,但如果现在再次搜索“ 7”,我也得到1个结果,直到删除所有字符并获取完整结果。

当我删除角色时如何获得更多结果

1 个答案:

答案 0 :(得分:1)

更改搜索过滤器时,将过滤以前的搜索已过滤的数据。

不要那样做。保留原始的完整数据列表的副本,并且每次搜索时,都会创建原始列表的筛选副本,并存储在不同变量中。

简而言之,替换

this.history = this.history.filter(...)

作者

this.history = this.historyOrigin.filter(...)