我正在从商店加载值,然后使用条件过滤它(例如name == Matt
)。代码如下所示;
var store = Ext.getStore('mystore');
store.on('load', function() {
store.filter({
filterFn: function(rec) {
return Ext.Array.indexOf(arr, rec.get('name')) > -1;
}
});
});
store.load();
稍后,在另一个视图中,我需要使用过滤结果(如上所示)并将其与另一个值数组进行过滤。我该怎么做;
我的方法是再次加载记录(再次粘贴上面的代码 - 但没有过滤器部分)。但这是不正确的。那么如何从先前过滤的结果数组中过滤结果?
答案 0 :(得分:3)
您可以定义过滤器在其filters
属性中对商店加载运行,并将filterOnLoad
属性设置为true
。
根据新过滤条件过滤记录:
store.clearFilter(true); // Clears old filters
store.filter([
{
filterFn: function(rec) {
return Ext.Array.indexOf(arr, rec.get('name')) > -1;
}
}
]);