我正在尝试在Angular Material Data Table中使用过滤器-
如果我搜索“ MATCHED ”,则“ MATCHED ”和“ UNMATCHED ”都出现在数据的状态栏中桌子。
我知道这是因为减少了数据对象并将其连接起来,并且应用了过滤器( from the Angular Material Docs )。
如果要搜索匹配项,我只想显示“ MATCHED ”状态。 因此,我正在寻找一种过滤器,该过滤器将进行精确的单词过滤,而不是子字符串。 如何进行?
我读了post,但无法继续。
答案 0 :(得分:1)
您在这里-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()
中删除。