无法获取网格存储过滤器

时间:2016-10-11 08:49:55

标签: javascript extjs

我有一个看起来像这样的网格商店:

Ext.create('Ext.data.BufferedStore', {
    fields: fields,
    autoLoad: true,
    leadingBufferZone: 300,
    pageSize: 100,
    proxy: {
        type: 'ajax',
        url: 'handler.php?action=getObjData&id_obj='+id_bj, 
        reader: {
            type: 'json',
            rootProperty: 'items',
            totalProperty: 'total'
        }
    },
    listeners: {
        load: function () {
            //this is what I tried
            console.log(this.proxy.extraParams);
            console.log(this.proxy.params);
            console.log(this.proxy.url);
            console.log(this.filters.filterData());
        }
   }

});

如您所见,在加载侦听器中,我尝试了许多解决方案。但是所有这些都会导致undefined{}或初始url,事件虽然我在控制台中看到过滤数据,但是服务器请求看起来像:

handler.php?action=getObjData&filter=[{"operator":"gt","value":0,"property":"attr_88186_"}]...

所以,有一个过滤器参数,但我无法得到它。

1 个答案:

答案 0 :(得分:3)

您想从商店获取过滤器:

load: function (store) {
    var filters = store.getFilters().getRange()