离子清除数据

乌麦兹汗

我正在使用ion-select选择选项并对它进行过滤,但是问题是当我选择一个选项时它的过滤效果很好,但是当我第二次选择它的过滤器数据时,第一个过滤器的结果却不是实际数据

<ion-item >
     <ion-label style="text-align: right;" dir="rtl" >קטגוריה</ion-label>
        <ion-select dir="rtl" [(ngModel)]="selectedOption" (ionChange)="print()">
           <ion-option *ngFor="let categ of cat2" dir="rtl" [value]="categ.id"  >{{categ.title}}</ion-option>
        </ion-select>
</ion-item> 

print() {

   console.log(this.selectedOption);
   this.data = this.data.filter(category => category.categories[0].id === this.selectedOption);

}

这只是示例数据

{
{
"title": "111"
"category": "252"
},
{
"title": "111"
"category": "242"
},
{
"title": "111"
"category": "212"
},
{
"title": "111"
"category": "232"
}
}

当我选择232类别时,它显示1个数组,因为在数据中只有1个具有232类别的数组。但是第二次,如果我单击212,它什么也没有显示,但是数据中有值。其过滤第一个过滤器数据。

任何解决办法,我怎么能解决呢?我知道问题是当我选择第一个值时数据已更改。当我选择secodn值时,我需要从先前的数据而不是从第一个过滤器进行过滤。

AJT82

您正在过滤数组并将其分配回同一数组,因此您尝试重新过滤已过滤的数组。过滤时应使用辅助数组:

filteredData = [];

// ....

print() {
  this.filteredData = this.data.filter(category => category.categories[0].id === this.selectedOption);
}

然后使用辅助数组显示过滤后的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章