2012-08-22 45 views
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(); 

稍后,在另一视图中,我需要使用过滤的结果(如上所示)并将其过滤对值的另一个阵列。我怎样才能做到这一点;

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

回答

2

您可以定义过滤器以在其店铺负载中运行其filters属性并将filterOnLoad属性设置为true

要筛选记录对新的过滤条件:

store.clearFilter(true); // Clears old filters 
store.filter([ 
    { 
     filterFn: function(rec) { 
       return Ext.Array.indexOf(arr, rec.get('name')) > -1; 
     } 
    } 
]); 
+0

如果我想要什么hapence比较它针对的阵列,如在我的代码。你的代码有效,但是对于单个值,你能帮我把它与一个数组值进行比较吗? – Illep

+0

更新了我的答案。 –

+0

我想过滤它,然后再进行第二次过滤。你在{{property:“email”,value:/ \。com $ /}之前做过的,' – Illep