存储和远程过滤

Store and remote filtering

我有一个商店,我想在 beforequery 事件中设置一个过滤器。

问题是当我这样做的时候

store.addFilter({property:'name', value: 'xxx'});

实际的 addFilter 调用会发送一个请求,这是一个问题,因为它会再次触发 beforequery 事件。

所以我在函数调用中添加了 supresevent 参数

store.addFilter({property:'name', value: 'xxx'}, true);

但是,在这种情况下,请求根本没有过滤器参数。

我是不是漏掉了什么?

我只想在 beforequery 事件中添加一个过滤器并让它执行请求

我一直在努力解决类似情况下的问题。我想使用 setFilter() 方法对商店设置过滤器。但是使用这种方法我遇到了商店两次触发加载事件。一个请求包括过滤器参数,另一个没有。

请求 1:

请求2:

此行为导致我的组件中出现错误信息。修修补补了一段时间,发现直接调用store的filter()方法就可以绕过setFilter()方法。

网格代码:

...
initComponent: function () {
    var me = this;

    me.callParent(arguments);
    me.getStore().filter([
        {
            property: someProperty,
            value: someValue
        }
    ]);
},
...

以这种方式应用过滤器已经解决了我的问题。我希望这也会对你有所帮助。

商店里有一个 属性 叫 autoFilter。将其设置为假。它是私有的 属性,因此不在文档中。