0

请帮忙。有什么办法可以从过滤中排除 undefined 和 null ?因此,如果单元格值为 null 或未定义,则当用户在搜索输入中键入“null”或“undefined”时,它不会显示。

传入的表数据:

dataSource: MatTableDataSource

以下方法应用于输入:

  applyFilter(filterValue: string) {
    this.dataSource.filter = filterValue.trim().toLowerCase();
  }
4

2 回答 2

1

我找到了答案,以防有人在寻找它。

  applyFilter(filterValue: string) {
    this.dataSource.data.forEach(element => {
      for (const key in element) {
        if (!element[key] || element[key] === null) {
          element[key] = '';
        }
      }
    });
    this.dataSource.filter = filterValue.trim().toLowerCase();
  }

applyFilter() 函数被添加到输入中,它将输入值作为参数。在过滤时,您需要检查对象的传入数据数组(它将是您在材料表中的行),并为每个对象属性检查它是否为空或未定义。如果是 - 分配空字符串。然后,这个空字符串将通过材料与其他值连接在一起进行过滤。

于 2019-04-23T17:03:27.033 回答
0

我猜你正在寻找:

 applyFilter(filterValue: string) {

    if (!!filterValue) {
       this.dataSource.filter = filterValue.trim().toLowerCase();
    }

 }
于 2019-04-23T15:16:38.437 回答