0

我有一个奇怪的情况。我有多个过滤器应用于本地的同一家商店。但是每当有新值时,我都必须更新特定的过滤器(删除和创建或更新)。因此我不能使用 store.clearFilter ,因为它会清除所有内容。

我试过了

                            store.filters.removeAtKey(prop);

                    store.filters.add(prop, new Ext.util.Filter({
                      property: prop,
                      value: event.value
                    }));

没运气。

任何帮助表示赞赏

塔拉罕

4

2 回答 2

0

你不应该改用商店的removeFilter方法吗?

// false prevents useless update until you've added the new filter
store.removeFilter(prop, false);
于 2013-06-13T18:40:49.407 回答
0

您可以在清洁之前获得所有过滤器:

store.filters

var filtersAux = [];
// get filter
Ext.Array.each(store.filters.items,function(element,pos,array){
    // if Not (filter to remove)
    filtersAux.push(element);
});

// remove all filters
store.clearFilter();

// add the filters:
Ext.Array.each(filtersAux,function(element,pos,array){
    store.filter(element.property,element.value);
});

它对我来说很完美。

于 2013-06-14T08:05:08.680 回答