5

您可以将示例:更改app/simple/app/Viewport.js为:

您将在 Chrome 控制台中收到此错误:

未捕获的类型错误:无法读取未定义的 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'
                            }]
                }]
    });
4

2 回答 2

2

1-尝试使用这样的父母参数调用:

.
.
.
,initComponent : function() {
 this.callParent(arguments);
 },
.
.
.

或调用超类:

.
.

,initComponent : function() {
     this.callSuper(arguments);
 },
.
.
.
于 2014-01-31T08:03:43.060 回答
1

initComponent 仅适用于新定义的组件。在你的情况下,'AM.view.Viewport'。您不能覆盖作为项目中组件配置插入的组件的 initComponent。如果要为该树形面板定义 initComponent,则还必须对其进行扩展,然后将此扩展名放入视口的项目中。

于 2015-10-08T11:33:52.563 回答