角阵列过滤器应用多个

思想家

我有一个数据如下:

   tasks=  [
        {
        "id":8,
        "title":"Eight",    
        "how_often":"DS",
        "how_important_task":"",
        "how_important_improvement":"",
        "stakeholder":2,
        "project":2
        },

        {
        "id":9,
        "title":"Nine",
        "how_often":"",
        "how_important_task":"",
        "how_important_improvement":"",
        "stakeholder":2,
        "project":2
        },

        {
        "id":21,
        "title":"Seventeen",
        "how_often":"",
        "how_important_task":"",
        "how_important_improvement":"",
        "stakeholder":2,
        "project":2
        }
    ]

我的组件中有两个模型和一个方法:

  public how_important_task: string= "";
  public how_often: string = "";

  applyFilters(){
    this.tasks = this.tasks.filter(task => {})
  }

以及带有过滤器和列表的模板:

<ion-select [(ngModel)]="how_often" (ionChange)="applyFilters()">
                <ion-option value="">None</ion-option>
                <ion-option *ngFor="let frequency of filer_per_frequency" value="{{frequency.value}}">{{frequency.title}}</ion-option>
              </ion-select>
<ion-select [(ngModel)]="how_important_task" (ionChange)="applyFilters()">
                <ion-option *ngFor="let importance of filer_per_importance" value="{{importance.value}}">{{importance.title}}</ion-option>
              </ion-select>

...



<ion-list>
        <button detail-none (click)="expandItem(task)" ion-item *ngFor="let task of tasks">

          <h2>{{task.title}}</h2>
          <expandable [expandHeight]="itemExpandHeight" [expanded]="task.expanded">
            <hr><p>{{task.how_often | fullform}}</p>
            <p>{{task.how_important_task | fullform}}</p>
            <p>{{task.why_perform_task}}</p>
            <p>{{task.sequence_of_actions}}</p>
          </expandable>
        </button>
      </ion-list>

在我的方法中,我想对我的任务应用所有选定的过滤器。我怎样才能做到这一点?

尼克斯

我试着帮忙。您需要先创建原始数组的副本。我没有包括这个,但我假设你已经将它复制到了一个名为original_tasks. 之后是一个简单的Array.filter调用。如果两者都已定义,则它们都必须匹配。请注意,如果how_important_taskhow_often可以是一个评估为“不真实”的值,您需要更新 if 语句来说明它。

this.tasks = this.original_tasks.filter(task => {

     if(this.how_important_task && this.how_often){
          return task.how_important_task === this.how_important_task &&  task.how_often === this.how_often
     }

     if(this.how_important_task){
         return task.how_important_task === this.how_important_task;
     }

     if(this.how_often){
         return task.how_often === this.how_often;
     }

     return true;
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态应用多个CSS过滤器

来自分类Dev

使用熊猫应用多个过滤器

来自分类Dev

在列表上应用多个过滤器

来自分类Dev

MongoDb过滤器阵列

来自分类Dev

阵列过滤器和阵列显示

来自分类Dev

在交叉过滤器DC JS中应用除其他过滤器之外的多个过滤器

来自分类Dev

将多个过滤器应用于数组javascript

来自分类Dev

向纸板应用集会添加多个过滤器

来自分类Dev

使用同一选择过滤器的多个应用模板

来自分类Dev

将片段过滤器应用于多个源

来自分类Dev

访问VBA-应用过滤器-多个“或”条件

来自分类Dev

logstash根据条件应用多个过滤器

来自分类Dev

aurelia视图中的过滤器阵列

来自分类Dev

多个过滤器PHPExcel

来自分类Dev

ICollectionView多个过滤器

来自分类Dev

多个过滤器PHPExcel

来自分类Dev

反应阵列状态过滤器清除阵列

来自分类Dev

带阵列的过滤器阵列控制器

来自分类Dev

角自举式提前过滤器

来自分类Dev

应用多个过滤器,通过Elasticsearch将这些过滤器汇总为一个指标

来自分类Dev

应用多个过滤器,通过Elasticsearch将这些过滤器汇总为一个指标

来自分类Dev

如何在角材料表中添加多个过滤器值?

来自分类Dev

角日期过滤器未按ng值过滤

来自分类Dev

多个过滤器与OR或ndb查询

来自分类Dev

多个下拉搜索过滤器角度

来自分类Dev

JavaScript过滤器检查多个值?

来自分类Dev

细枝过滤器多个参数

来自分类Dev

类别DEFAULT的多个意图过滤器

来自分类常见问题

javascript过滤器数组多个条件