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

Posted

技术标签:

【中文标题】如何在下一个请求中删除 extjs 中的动态参数?【英文标题】:How to remove dynamic parameter in extjs in next request? 【发布时间】:2018-03-14 11:11:05 【问题描述】:

我正在开发 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】:

你可以试试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
    ;

【讨论】:

但这不会在浏览器上单击按钮时设置参数,而是在从服务器加载数据时分配参数。 @Exception 是的,我认为这是你的情况。我只是不使用“params”,而是通过“extraParams”传递我需要的一切。抱歉,如果我误解了您的问题。

以上是关于如何在下一个请求中删除 extjs 中的动态参数?的主要内容,如果未能解决你的问题,请参考以下文章

从组合框中删除 extjs 3.4 中的参数

如何从ExtJs网格中删除列?

如何删除 ExtJS 4 中字段的“名称”参数

extjs 3.2 动态添加垂直滚动条

ExtJs 5 动态网格分页

如何在 ExtJS 中动态更改分页网址?