我在网格中搜索多列,每当我在多列中搜索任意值的倍数时,搜索过滤器在重复搜索尝试后就不会工作。
这是我的过滤器代码
export class FilterBy {
public filterData(items: any, filterData: any): any {
var result: any;
if (filterData === undefined) {
return items;
}
filterData.forEach(function (value, key) {
if (isNaN(value)) {
items = items.filter((item: any) => {
if (item[key].toLowerCase().match(value.toLowerCase()))
return true;
else
return false;
})
}
else {
items = items.filter((item: any) => {
if (item[key].toString().includes(value))
return true;
else
return false;
})
}
});
return items;
}
}
这是我的组件代码。
if ((filters === undefined || filters == '') && this.filterData.has(columnName)) {
this.filterData.delete(columnName);
}
var obj: FilterBy = new FilterBy();
var result = obj.filterData(this.data, this.filterData);
任何人都可以帮我解决这个问题。