如何在 extjs v7.5 中为组合框调用远程存储?

How to call the remote store for combobox in extjs v7.5?

我有一个组合框,其中包含从远程服务器下载的数据。我希望每次单击组合框时都发送一个请求,因为我想在 proxy.setExtraParams(params) 中动态设置参数。我在 beforeQuery 函数中设置了参数。 我有这个例子,是我在网上找到的。在我的应用程序中,组合以类似的方式工作。 https://fiddle.sencha.com/#fiddle/3ij5&view/editor

不过,在7.4版本可以正常使用,在7.5版本就不行了。

7.5 的文档说当 queryMode: 'remote' 你必须手动加载商店。我在哪里调用 store.load() 以便组合有时间处理代理的参数?

您必须将 autoLoad 设置为 true。

因为您最初不想加载商店,所以您必须添加一个侦听器(就像您所做的那样)并设置自动加载。

您只想调用一次侦听器,因为此后设置了自动加载。

        listeners: {
            beforeQuery: {
                fn: function (queryPlan) {
                    console.log('[ComboBox::beforeQuery] set autoLoad to true');
                    this.getStore().setAutoLoad(true);
                    return queryPlan;
                },
                single: true
            }
        }