Angular 9,如何过滤具有列包含点和斜线值的列的表?

问题描述

我在Angular 9项目中有一个表,其中有两列,分别包含日期和IP地址。

这是我的applyFilter方法,但仅适用于简单的字符串。当我尝试过滤日期或IP时,它不起作用。

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

我该如何修复它以便甚至在这两列上进行过滤?

解决方法

尝试一下:

  1. 您需要知道它们将被过滤的键(您的表列)。

  2. 现在您有了密钥,将其传递到过滤器中,这样该函数就知道要与之进行比较(在本例中为myKeyName)。

    applyFilter(filterValue: string,myKeyName: string) {
    filterValue = filterValue.trim();
    filterValue = filterValue.toLowerCase();
    this.datasource = this.datasource.filter(x => x[myKeyName] == filterValue);
    }
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...