使用 filterBy() 应用筛选器时,从 ExtJs 存储中清除筛选器的最快方法
Fastest way to clear filter from ExtJs store when filter is applied by using filterBy()
我正在使用ExtJS 4.1。我正在使用商店的clearFilter()
从商店中删除过滤器。我正在使用filterBy
方法将过滤器应用于商店。我正在过滤所有名字不是罗纳尔多的记录。
清除过滤器后,我加载一个包含网格(附加到商店)的视图。但是当我加载网格时,我仍然可以看到过滤器未清除。该商店是本地商店。我没有在商店上应用任何分组。商店仅使用一种模型。
myStore.filterBy(function (record) {
if (record.get('Name') != 'Ronaldo') {
return true;
}
});
虽然所有这些都工作正常,但是当我使用 clearFilter()
清除过滤器时,需要一些时间。当使用filterBy()
应用过滤器时,是否有更快''更好''正确的方法来清除商店中的过滤器?
当您使用clearFilter()
时,如果您使用了filterBy()
或filter()
,或者在商店中配置了过滤器,则没有区别。
以下是清除筛选器时发生的情况:
- 清除存储上的筛选器集合 过滤
- 后的数据将替换为存储在快照中的原始(未过滤)数据 "
- 数据更改"和"刷新"事件在存储上触发
请注意,您可以使用 clearFilter(true)
禁止触发的事件,如果要在清除现有筛选器后再次筛选存储,这可能很有用。
如果清除商店的过滤器执行缓慢,则它可能与步骤 3 触发的布局过程(在您的网格或您使用商店的任何内容上)有关。
另请参阅文档或源代码。
这是我的最佳答案,清除filterBy 函数:
myStore.filterBy(function (record) {
return true;
});
我刚刚做到了,希望它有所帮助
只需调用 a:
myStore.reload();
每当要使用 filterBy 删除筛选器集时。
相关文章:
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 单击jquery清除输入值
- 使用AngularJS中的筛选器更新给定的表
- 淘汰搜索/筛选
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- Angular JS Filter-通过3个复选框进行筛选
- 如何在Microsoft VirtualEarth 6.3中使用纯javascript清除整个形状层
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 使用下拉列表筛选列表(ul>li)
- Javascript清除缓存以清除基本身份验证凭据
- JQuery DataTable列筛选器-选择下拉筛选器
- Regex,用于从字符串中筛选关键字
- 清除启动日期选取器值
- 搜索不清除筛选器
- 刷新后将清除筛选器
- 在页面加载时清除/重新应用表分类器筛选
- jQuery Datatables:如何清除列搜索筛选器
- 使用 filterBy() 应用筛选器时,从 ExtJs 存储中清除筛选器的最快方法
- JavaScript清除焦点上的SharePoint文本筛选框
- 筛选部分框获胜't清除空白点