我在我的 Angular 项目中使用材料表。
有一个过滤字符串的规定,它工作得很好
myData: UserData[]; // Imagine its initialized
dataSource = new MatTableDataSource(myData);
applyFilter(filterValue: string)
{
this.dataSource.filter = filterValue
}
现在,我想用字符串数组进行过滤,但它不起作用。
myData: UserData[]; // Imagine its initialized
dataSource = new MatTableDataSource(myData);
applyFilter(filteredValues: string[])
{
this.dataSource.filteredData = filteredValues
}
低于错误
<块引用>类型“String[]”不可分配给类型“UserData[]”。
类型“String”不可分配给类型“UserData”。
答案 0 :(得分:1)
为了能够从 String[] 类型的数据源中进行过滤,您必须指定一个过滤谓词。
this.dataSource.filterPredicate = (data: String, filter: string) => {
return data.includes(filter);
};
现在返回包含“filterValue”的所有字符串。