1

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

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

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

4

1 回答 1

3

filters您可以在其属性中定义过滤器以在商店加载时运行并将属性设置filterOnLoadtrue.

根据新的过滤条件过滤记录:

store.clearFilter(true); // Clears old filters
store.filter([
    {
         filterFn: function(rec) {
              return Ext.Array.indexOf(arr, rec.get('name')) > -1;
         }
    }
]);
于 2012-08-23T04:44:20.540 回答