0

我有一个带有多个网格的面板。我正在尝试制作某种全局刷新按钮,我的意思是,该按钮将刷新所有网格并打开选项卡,而不会像按下 F5 时那样丢失数据。使用其中两个网格很容易获取商店并加载它,但第三个会出现问题。当我尝试与前两个相同的工作时,我得到了URL is undefined。这是我的代码:

reloadInstructionsStore: function() {
    var reloadInstructionSt = this.getStore('Instructions');
    var activeCat = this.getActiveCategory();
    reloadInstructionSt.clearFilter(true);
    reloadInstructionSt.filter({
        filterFn: function(item)    {
            return item.get('category_id') == activeCat;
        }
    }),
    reloadInstructionSt.load();
},

我能想到的唯一原因是我在这里使用的商店的定义与其他 2 不同。它不是 PROXY 和 CRUD,而是看起来像这样:

Ext.define('MY.store.Instructions', {

    extend: 'Ext.data.Store',
    model: 'MY.model.InstructionRecord',

    autoLoad: true,


    data: g_settings.instructionsApi.initialData

});

问题在这里吗?有没有办法让事情像这样工作?

谢谢

勒龙

4

1 回答 1

0

您无需重新加载此商店,数据在初始页面加载时提供。该变量g_settings.instructionsApi.initialData告诉我数据在页面上可作为静态数据使用。在这种情况下,您需要做的就是重置过滤器,然后删除reloadInstructionSt.load();呼叫。

如果您确实希望从服务器重新加载数据,则需要为您的商店提供一个url,它可以从中获取数据,并且服务器必须能够提供这些数据。

于 2012-06-22T19:34:33.347 回答