无法获取网格存储筛选器

Unable to get grid store filters

本文关键字:筛选 存储 网格 获取      更新时间:2023-09-26

我有一个网格存储,看起来像这样:

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_"}]...

所以,这里有一个过滤器参数,但是我不能得到它

您想要从存储中获取过滤器:

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