如何在下一个请求中删除extjs中的动态参数?

时间:2018-03-14 11:11:05

标签: javascript extjs extjs3

我正在研究extjs 3.4.0并且我想在请求中添加额外的参数来识别是否单击了相应的按钮(让我们说清除过滤器按钮)。 我已按以下方式添加该参数 -

tbar: new Ext.PagingToolbar({
    pageSize: 25,
    store: PHOPHTStore,
    displayInfo: true,
    displayMsg: 'Displaying reports {0} - {1} of {2}',
    emptyMsg: "No reports to display",
    plugins: [PHOPHTFilters],
    items:['-',{
        text: 'Clear Filters',
        iconCls:'x-btn-text-icon',
        icon:'../images/tmp/cancel.gif',
        tooltip:'Clear currently applied filters',
        handler: function() { 
            PHOPHTGrid.filters.clearFilters();
            PHOPHTStore.load({ params: { actionFilter: "clear" } }); 
        }
    }
})

现在情况是,当我点击清除过滤器按钮时,我已经添加了这个{ actionFilter: "clear" }。但是这个参数在每个下一个请求中继续使用。我希望在发出此请求时或在下一个请求时立即将其删除要求像上升/下降列或任何其他请求。 我计划在 -

listeners: {
                'beforeload' : function() {
                    loadMask.msg = "Loading Reports(s), please wait...";
                    loadMask.show();
                },
                'load' : function() {                   
                    loadMask.hide(); 
                }
            }

是否有任何其他方法可以在此按钮单击时存储此参数 要么 如何以任何方式删除此添加的参数? 请建议

1 个答案:

答案 0 :(得分:1)

您可以尝试Ext.Ajax.extraParams。我从服务器加载数据时使用这种方法。

部分示例:

xloaddata: function() {
    var me = this;

    var v = me.edit_search.getValue();
    me.store.proxy.extraParams = {
        tablename: me.xtablename, 
        filter: v
        )
    };
    me.store.loadPage(1);
    me.store.proxy.extraParams = {
        tablename: me.xtablename
    };
}