多个搜索过滤器之后不会在角度2中工作

时间:2017-06-09 11:48:21

标签: angular angular2-filtering

我在网格中搜索多列,每当我在多列中搜索任意值的倍数时,搜索过滤器在重复搜索尝试后就不会工作。

这是我的过滤器代码

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);

任何人都可以帮我解决这个问题。

0 个答案:

没有答案