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