EXTJS 6.5 Row Widget未加载子存储

时间:2017-09-12 20:26:17

标签: extjs

我在使用rowwidget插件时遇到问题。基本上我试图使用父网格的expandbody事件加载孩子。我也可以加载父存储和子存储,但是在将子存储分配给父存储时遇到问题。请帮忙。

//ParentController - called from expandbody listener in the view


onParentExpand: function ( rowNode, record, expandRow, eOpts) {
var childStore = this.getStore('childStore '); // store from viewModel

childStore.load({
    extraParams: {
        param1: record.data.param1,
        param2: record.data.param2
    }
});

上面的代码抛出了这个错误:

Uncaught TypeError: store.isLoaded is not a function
at constructor.setStore (ext-all-rtl-debug.js?_dc=1505247124964:84851)

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在这个小部件上花了好几个小时后,这些都是我的收获......(我没有采用expandBody方法......)

  1. 必须使用idProperty才能使Row Widget正常工作(对于需要显式Id映射的模型)

  2. 我的小部件不会在没有以下代码的情况下绑定到动态商店

  3. onWidgetAttach: function (plugin, bodyComponent, record) {
    bodyComponent.getStore().load({
    params: {
    id: record.get('id'),
    name: record.get('name'),
    city: record.get('city'),
    state: record.get('state')
    }
    });
    }

    此外,窗口小部件不会绑定到viewmodel存储。我不得不创建一个全球商店(应该对此进行研究)