Filter Extjs4存储筛选器-在字符串中搜索

Filter Extjs4存储筛选器-在字符串中搜索,filter,extjs4,store,Filter,Extjs4,Store,extjs中的store filter函数如下: 存储.过滤器(过滤器,值);它是=>store.filter(列名,要搜索的字符串) 该值与存储值串行匹配,即如果我必须在“abcd”中搜索“bc”,它将找不到它,但在我给出ab时它将匹配,因为abcd以ab开头 如何在存储筛选期间使用字符串筛选值,我希望获得字符串中匹配的所有结果,而不仅仅是字符串的开头。使用自定义筛选函数。下面是一个未经测试的示例: var myfilter = new Ext.util.Filter({ filter

extjs中的store filter函数如下:

存储.过滤器(过滤器,值);它是=>store.filter(列名,要搜索的字符串)

该值与存储值串行匹配,即如果我必须在“abcd”中搜索“bc”,它将找不到它,但在我给出ab时它将匹配,因为abcd以ab开头


如何在存储筛选期间使用字符串筛选值,我希望获得字符串中匹配的所有结果,而不仅仅是字符串的开头。

使用自定义筛选函数。下面是一个未经测试的示例:

var myfilter = new Ext.util.Filter({
    filterFn: function(rec) {
        return rec.get('columnname').indexOf('bc') > -1;
    }
});

store.filter(myfilter);
或者使用filterBy方法

store.filterBy(function(rec){
            return rec.get('columnname').indexOf('bc') > -1;
        }
    });

正则表达式应该是什么呢?我已经更新了示例以使用indexOf()方法。如果你想使用正则表达式搜索,那也很简单。var regex=/bc/;store.filterBy(函数(rec){return regex.test(rec.get(“columnname”);});