Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ext JS 4:删除或更新存储中的特定筛选器_Javascript_Extjs - Fatal编程技术网

Javascript Ext JS 4:删除或更新存储中的特定筛选器

Javascript Ext JS 4:删除或更新存储中的特定筛选器,javascript,extjs,Javascript,Extjs,我有一个奇怪的情况。我在本地将多个过滤器应用于同一个商店。但是每当有一个新值时,我就必须更新一个特定的过滤器(要么删除并创建,要么更新)。 因此,我不能使用store.clearFilter,因为它会清除所有内容 我试过了 store.filters.removeAtKey(prop); store.filters.add(prop, new Ext.util.Filter({

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

我试过了

                            store.filters.removeAtKey(prop);

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

谢谢你的帮助


Tharahan

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

// false prevents useless update until you've added the new filter
store.removeFilter(prop, false);

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

存储.过滤器

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);
});

它对我来说非常适合。

我想这是4.2x。我使用的是4.1.3Did您是否尝试从4.2x源代码复制粘贴实现?