带有字符串数组的角度材质数据源过滤器

时间:2021-06-29 07:43:27

标签: angular-material material-table angular-material-table

我在我的 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”。

1 个答案:

答案 0 :(得分:1)

为了能够从 String[] 类型的数据源中进行过滤,您必须指定一个过滤谓词。

this.dataSource.filterPredicate = (data: String, filter: string) => {
    return data.includes(filter);
};

现在返回包含“filterValue”的所有字符串。