问题描述
我在Angular 9项目中有一个表,其中有两列,分别包含日期和IP地址。
这是我的applyFilter方法,但仅适用于简单的字符串。当我尝试过滤日期或IP时,它不起作用。
applyFilter(filterValue: string) {
filterValue = filterValue.trim();
filterValue = filterValue.toLowerCase();
this.dataSource.filter = filterValue;
}
我该如何修复它以便甚至在这两列上进行过滤?
解决方法
尝试一下:
-
您需要知道它们将被过滤的键(您的表列)。
-
现在您有了密钥,将其传递到过滤器中,这样该函数就知道要与之进行比较(在本例中为myKeyName)。
applyFilter(filterValue: string,myKeyName: string) { filterValue = filterValue.trim(); filterValue = filterValue.toLowerCase(); this.datasource = this.datasource.filter(x => x[myKeyName] == filterValue); }