筛选具有数字范围的物料表[Angular 7]

时间:2018-11-15 12:15:52

标签: angular angular-material2 angular7 angular-material-table

我正在Angular 7项目中使用Material Table。

我有一个显示几个对象的表。

每个对象都有一个“促销数量”属性,我想使用数字范围(小于5,从6到10,从11到20,大于20)过滤该表。

这里是dataSource.filterPredicate的一个示例,我以前在表上有自定义过滤器,但是我不知道如何管理前面解释过的过滤器...

        this.dataSource.filterPredicate = (data: Store, filter: string) => {
      switch (this.filterCriteria) {
        case 'approval':
          if (filter === 'null' || filter === '') {
            return (data);
          } else {
            return (data.approval.trim().toLowerCase().indexOf(filter) !== -1
            );
          }

1 个答案:

答案 0 :(得分:0)

我确实设法解决了我的问题,而且我非常非常非常简单。 -_-'

我刚好在dataSource.filterPredicate上安装了正确的过滤器。

      case 'promotion':
          if (filter === 'null' || filter === '') {
            return (data);
          } else {
            switch(filter){
              case '5':
              return (data.total_promotions <= 5);
              case '10':
              return (data.total_promotions > 5 && data.total_promotions <= 10);
            }
          }
      }