我试图在Angular Material Data Table中使用过滤器,如 -
如果我搜索“MATCHED”,那么“MATCHED”和“UNMATCHED”都会出现在Data表的status列中。
我知道这是因为数据对象被缩减并连接并且应用了过滤器(from the Angular Material Docs)。
我想只显示“MATCHED”状态,如果搜索匹配。所以我正在寻找一个过滤器,它将进行精确的字过滤,而不是子串。如何进行 ?
我读了这个post,但我无法继续。
在这里你去 - StackBlitz
根据您提到的答案,我们需要定义filterPredicate:
export class TableFilteringExample {
displayedColumns: string[] = ['position', 'name', 'weight', 'symbol'];
dataSource = new MatTableDataSource(ELEMENT_DATA);
constructor() {
this.dataSource.filterPredicate = (data: PeriodicElement, filter: string) => {
return data.name === filter;
}
}
applyFilter(filterValue: string) {
this.dataSource.filter = filterValue.trim();
}
}
请注意,toLowerCase()
已从filterValue.trim()
中删除。