我在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
);
}
我确实设法解决了我的问题,而且我非常非常简单
我刚刚在我的交换机上有一个案例,在我的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);
}
}
}