【问题标题】:Angular Material dataSource filter with array of string带有字符串数组的角度材质数据源过滤器
【发布时间】:2021-06-29 07:43:27
【问题描述】:

我在我的 Angular 项目中使用 Material 表。

有一个过滤字符串的规定,它工作得很好

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”。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 2022-01-03
      • 2019-07-10
      • 2020-03-28
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      相关资源
      最近更新 更多