首页 > 解决方案 > ExtJS 中的过滤

问题描述

我正在过滤 extjs 中的商店:

到目前为止一切顺利,我遇到的问题是函数返回true还是false实体仍然留在我的商店中并不重要。

感谢您的帮助,丹尼尔

标签: extjszend-frameworkfilterpropel

解决方案


Ext.getStore('xxx').filterBy()在本地处理从代理检索的数据。因此,如果您触发Ext.getStore('xxx').load()Ext.getStore('xxx').reload()这将使用从服务器检索的数据擦除本地过滤数据。

您还可以使用Ext.getStore('xxx').load({params:{'param1':'value1'}})从服务器端进行过滤。

现在请注意,如果您想再次使用相同的参数,您只需调用Ext.getStore('xxx').reload()现在这等于Ext.getStore('xxx').load({params:{'参数 1':'value1'}})。但是如果你使用Ext.getStore('xxx').load()就像你没有向服务器发送参数一样。

最后,您应该首先使用Ext.getStore('xxx').load({params:{'param1':'value1'}})Ext.getStore('xxx').load()从服务器获取数据然后使用 filterBy 将本地过滤器应用于检索到的数据。

注意:我假设您使用的是 ajax 或 rest 代理而不是本地代理


推荐阅读