您可以将示例:app/simple/app/Viewport.js
更改为:
您将在Chrome控制台中收到此错误:
未捕获的TypeError:无法读取未定义的属性“items” ext-all.js:18 Ext.cmd.derive.getDockedItems
但如果你对此发表评论:
initComponent : function() {
this.callParent();
},
一切都好。
Ext.define('AM.view.Viewport', {
extend : 'Ext.container.Viewport',
layout: 'border',
items : [{
border : false,
region : 'north',
xtype : 'progressbar',
text : 'Ready',
height : 20
}, {
region : 'west',
xtype : 'userlist',
width:300
}, {
region : 'center',
xtype : 'treepanel',
initComponent : function() {
this.callParent();
},
columns : [{
xtype : 'treecolumn',
sortable : false,
width : 200,
text : 'lala',
dataIndex : 'text'
}, {
flex : 1,
sortable : false,
text : 'haha',
dataIndex : 'pars'
}]
}]
});
答案 0 :(得分:1)
1-尝试使用这样的Parents参数调用:
.
.
.
,initComponent : function() {
this.callParent(arguments);
},
.
.
.
或者调用超类:
.
.
,initComponent : function() {
this.callSuper(arguments);
},
.
.
.
答案 1 :(得分:1)
initComponent仅适用于新定义的组件。在你的情况下,对于AM.view.Viewport'。您不能覆盖作为项目中组件的配置插入的组件的initComponent。如果要为该treepanel定义initComponent,则必须对其进行扩展,然后将此扩展名放入视口的项目中。