Angular Material 带有字符串数组的数据源过滤器
Angular Material dataSource filter with array of string
我在我的 Angular 项目中使用 Material table。
有过滤字符串的规定,它工作得很好
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
}
低于错误
Type 'String[]' is not assignable to type 'UserData[]'.
Type 'String' is not assignable to type 'UserData'.
要能够从 String[] 类型的数据源中进行过滤,您必须指定一个过滤谓词。
this.dataSource.filterPredicate = (data: String, filter: string) => {
return data.includes(filter);
};
现在 return 所有包含 'filterValue' 的字符串。
我在我的 Angular 项目中使用 Material table。
有过滤字符串的规定,它工作得很好
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
}
低于错误
Type 'String[]' is not assignable to type 'UserData[]'.
Type 'String' is not assignable to type 'UserData'.
要能够从 String[] 类型的数据源中进行过滤,您必须指定一个过滤谓词。
this.dataSource.filterPredicate = (data: String, filter: string) => {
return data.includes(filter);
};
现在 return 所有包含 'filterValue' 的字符串。