0

我在我的 Angular 7 项目中使用材料表。

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

每个对象都有一个属性“促销次数”,我想使用数字范围(小于 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
            );
          }
4

1 回答 1

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);
            }
          }
      }
于 2018-11-15T13:03:41.087 回答