【发布时间】:2020-06-15 16:59:37
【问题描述】:
我有一个带有文本输入的垫表来过滤它的结果。
数据源是:
[
{
"articolo": {
"code": "22.398.14",
"url": "/url1"
},
"color": "white",
"weight": "10"
},
{
"articolo": {
"code": "22.398.15",
"url": "/url2"
},
"color": "red",
"weight": "20"
}
]
我在 html 中添加了这个:
<mat-form-field>
<mat-label>Filtra</mat-label>
<input matInput (focus)="setupFilter('articolo')" (keyup)="applyFilter($event)" placeholder="Filter">
</mat-form-field>
在ts中:
setupFilter(column: string) {
this.data.filterPredicate = (data, filter) => {
data[column].code.indexOf(filter) != -1;
}
}
applyFilter(event: Event) {
const filterValue = (event.target as HTMLInputElement).value;
this.data.filter = filterValue.trim().toLowerCase();
}
但是什么都没发生
如果我在 filterPredicate 中添加一个 console.log 它不会触发:
this.data.filterPredicate = (data, filter) => {
console.log(data);
...
怎么了?
谢谢
【问题讨论】: