结合远程过滤器和本地过滤器

时间:2014-10-10 12:23:14

标签: javascript extjs filter

现在,我有一个需要remoteFilter: true

的商店
Ext.getStore("AccessRuleStore").addFilter([
    new Ext.util.Filter({
        id:'from',
        property: 'from',
        value   : Ext.getCmp("ruleFrom").getValue()
    }),
    new Ext.util.Filter({
        id:'to',
        property: 'to',
        value   : Ext.getCmp("ruleTo").getValue()
    })
]);

addFilter会自动触发对服务器的调用,其中fromto用于计算要发送给客户端的规则,因为只有服务器知道哪个{{1 }}和from值匹配哪个规则(由于某种原因,tofrom值列表无法向客户端公开。

另一方面,规则可以是活动的或非活动的,并且指示bool始终传输到客户端。现在我想添加一个复选框"仅显示活动规则",它会过滤客户端to的规则。

这可能,怎么样?每当我向商店添加过滤器时,商店都认为它是一个远程过滤器,并要求服务器做什么......

1 个答案:

答案 0 :(得分:0)

您可以使用仅执行本地过滤器的store.filterBy

E.g。

rulesStore.filterBy(function (rule) {
    return rule.get('active');
});