从商店过滤结果

时间:2012-08-22 18:31:34

标签: extjs extjs4.1

我正在从商店加载值,然后使用条件过滤它(例如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();

稍后,在另一个视图中,我需要使用过滤结果(如上所示)并将其与另一个值数组进行过滤。我该怎么做;

我的方法是再次加载记录(再次粘贴上面的代码 - 但没有过滤器部分)。但这是不正确的。那么如何从先前过滤的结果数组中过滤结果?

1 个答案:

答案 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;
         }
    }
]);