我正在使用过滤器和选择mat-table
,为了使用 select 进行过滤,我在相关字段上使用过滤谓词。
public applyFilter(filterValue: string) {
this.dataSource.filterPredicate = (data: SP, filter: string) => {
return data.tag === filter;
};
this.dataSource.filter = filterValue;
}
但我也有一个像这样的标准过滤器,用于使用输入字段进行过滤:-
public filter(filterValue: string): void {
filterValue = filterValue.trim();
filterValue = filterValue.toLowerCase();
this.dataSource.filter = filterValue;
}
怎么重置原来的filterPredicate
以便第二个过滤器开始运行?
声明组件级变量defaultFilterPredicate
并将其设置为开ngOnInit
defaultFilterPredicate?: (data: any, filter: string) => boolean;
ngOnInit() {
this.defaultFilterPredicate = this.dataSource.filterPredicate;
}
然后当需要重置时,只需将其设置回组件首次加载时的状态即可,即默认值。
this.dataSource.filterPredicate = this.defaultFilterPredicate;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)