【问题标题】:How do you get all store parameters? (ExtJS 4.1)您如何获取所有商店参数? (ExtJS 4.1)
【发布时间】:2025-12-13 17:40:01
【问题描述】:

如何获取运行 store.load() 时发送的所有参数?我的意思是,我不会运行 store.load() 但我想获取所有请求参数。我会怎么做? (这是一个网格的商店)

【问题讨论】:

  • 你到底想做什么?为什么需要查看所有参数?
  • @sha,我会用它来创建一个excel文件。

标签: extjs extjs4 extjs4.1


【解决方案1】:

建立在源代码如何产生参数的基础上,这里有一个可以产生所需结果的函数,只要知道如果你将 Extjs 更新到 4.1 以上,它可能会因后台代码更改的性质而停止工作:

function getParamsObject(store){
    var options = {
        groupers:   store.groupers.items,
        page:       store.currentPage,
        start:      (store.currentPage - 1) * store.pageSize,
        limit:      store.pageSize,
        addRecords: false,
        action:     'read',
        filters:    store.filters.items,
        sorters:    store.getSorters()
    };
    var operation = new Ext.data.Operation(options);

    var fakeRequest = store.getProxy().buildRequest(operation);
    var params = fakeRequest.params;

    return params;
}

【讨论】:

  • 为什么会抛出错误“buildRequest is not a function”?
  • Prasu,您可能使用的是不同的版本。这是一个内部功能,可能会发生变化。 Extjs 4.1 在这一点上已经很老了。
【解决方案2】:

加载商店后,您可以找到以下参数:

store.proxy.extraParams

【讨论】:

  • 它显示了额外的参数meta。但是,sortstartlimitpage 不见了。
  • 您将在 store 对象中找到这些属性的值。