Store.load() 在设置新模型后不执行

Store.load() does not execute after setting a new model

我想使用 myGridPanel.reconfigure(store,columns) 重新配置 GridPanel。我不能为此使用 metachange 事件,因为我需要单独调用元数据(后端约束)。 我调用元数据,收到我需要的元数据,然后创建一个包含一组新字段和一个新代理的新模型(新 url)。我将模型设置为现有商店(绑定到我的 gridPanel)然后调用 store.loadPage(1)(因为我使用 bufferedStore)和 myGridPanel.reconfigure(store,meta.columns) . 我的问题是 store.loadPage(1) 没有发生。我不知道我错过了什么...

我的店铺是这样的:

Ext.define('Foo.store.Results', {
    extend: 'Ext.data.BufferedStore',

    requires: [
        'Foo.model.ResultRecord'
    ],

    config: {
        remoteFilter: true
    },

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            pageSize: 50,
            storeId: 'Results',
            autoLoad: false,
            model: 'Foo.model.ResultRecord',
            leadingBufferZone: 50,
            trailingBufferZone: 10
        }, cfg)]);
    }
}); 

我创建了一个这样的新模型:

createResultModel: function(url,fields) {
        console.log('createResultsModel called');
        return Ext.define('Foo.model.ResultsModel'+Ext.id(), {
            extend: 'Ext.data.Model',
            fields: fields,
            proxy: {
                type: 'ajax',
                url: url,
                useDefaultXhrHeader: false,
                reader: {
                    type: 'json',
                    rootProperty: 'data'
                }
            }
        });
    }

然后我像这样更改模型并重新配置网格:

 myStore.setModel(me.createResultModel('resources/data/results.json',meta.fields));
 myStore.loadPage(1);
 resultsGrid.reconfigure(myStore,meta.columns);

谢谢!

似乎调用了 store.load(),但 url 错误...。我不知道这是否是所需的功能,但似乎旧模型的代理已设置到商店,当我设置新模型时,代理仍然是旧模型。