javascript - 从 ExtJS 中的商店中删除过滤器

标签 javascript extjs4

我使用 store.filter(string, string) 方法将过滤器显式添加到 Ext.data.Store

但是,我不知道如何从商店中删除过滤器。因此,即使在使用 store.load() 重新加载后,过滤器也始终适用。我看到的唯一解决方法是重新启动整个网络应用程序。

如何从 Ext.data.Store 中删除过滤器?

最佳答案

除了 Mchi 的回答,我想说的是可以删除特定的过滤器(clearFilter() 将它们全部删除)。
为此,不要使用 store.filter('property_to_filter','value') 方法,而是使用:

store.filters.add('filtersId', new Ext.util.Filter({
  property: 'property_to_filter',
  value: 'value'
}));
store.load();

删除过滤器使用:

store.filters.removeAtKey('filtersId');

更新(针对 > 4.2.0)

在 4.2.0 中添加了添加/删除特定过滤器的方法:

store.addFilter({
    id: 'filtersId',
    property: 'property_to_filter',
    value: 'value'
});

store.removeFilter('filtersId');

有关更多信息,请查看文档:Ext.data.Store.addFilter , Ext.data.Store.removeFilter

关于javascript - 从 ExtJS 中的商店中删除过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275099/

相关文章:

json - 在 extjs 组合框中使用单值 json

extjs - 无法将过滤器重新应用到网格

java - Htmlunit 通过单击按钮跳过页面

javascript - 使用 svg.js 移动导入的 svg

javascript - 返回数组中存储的字段的数据

extjs - 如何创建具有多个 belongsTo 相同模型类型的 ExtJS 4 模型?

javascript - ExtJS Portal 布局问题(内部元素的自动高度/宽度)

javascript - 在 ES6 map 上使用 for..of 循环

javascript - 在javascript中,导出和默认导出有什么区别

javascript - JSSProvider 不使用 classNamePrefix 生成类前缀