首页 > 解决方案 > 以角度移除过滤器后无法恢复原始数组?

问题描述

我的组件中有一个数组,并且基于 searchString 我正在过滤项目数组。它工作正常。如果用户从搜索字段中删除字符,我想再次显示所有记录。但是从搜索字段中清除项目时,我无法再次显示所有记录。

请看下面的代码。

 this.filterServ.filterData.subscribe(searchData => {
         if (Object.keys(searchData).length != 0) {
            console.log('component', searchData);
           this.cardData = this.cardData.filter((project) => {
               let name = project.Name.toLowerCase();
               if (name.includes(searchData.searchString.toLowerCase())) {
                  return true;
               }
            });
           console.log('filterd data', this.cardData);
         }
      });

标签: javascriptangulartypescript

解决方案


你已经对cardData. 因此,您无法将其还原。

解决方案是创建另一个属性,例如您可以将其命名为displayData

然后你可以这样做:

this.displayData = this.cardData.filter((project) => {

而不是cardData在模板上使用,displayData而是使用


推荐阅读