树面板无法渲染 代码是:
Ext.define('mainPanel',{
extend:'Ext.form.Panel',
layout: {
type: 'hbox',
align: 'stretch'
},
width:'100%',
height:'100%',
title:'SQL',
initComponent:function()
{
var tableDiv = this.getTableColumn();
var analyzerDiv = this.getAnalyzerColumn();
var fieldDiv = this.getfieldColumn();
this.items=[tableDiv,analyzerDiv,fieldDiv];
this.callParent();
},
getTableColumn:function()
{
var TableColumn = Ext.create('Ext.tree.Panel',{
title:'Tables',
width:'20%',
heigth:'100%',
layout: 'fit',
border:true,
store: tableTreeStore,
rootVisible: false
});
return TableColumn;
}
请告诉我哪里出错了。提前致谢 我得到的错误是
TypeError:c不是构造函数 返回新c(a [0])
答案 0 :(得分:0)
请检查我为您创建的Sencha fiddle。
当您尝试覆盖Extjs的默认组件中的initComponent
时,会出现此错误。
例如:
Ext.define('Ext.panel.Panel',{
initComponent: function(){
//YourCode
}
});
或者
Ext.create('Ext.panel.Panel', {
initComponent: function(){
//Yourcode
}
});
如果您想从代码中消除此错误,则需要定义扩展Component - CustomPanel
组件的自定义Extjs
:
var panel = Ext.define('CustomPanel', {
extend: 'Ext.panel.Panel',
width:300,
heigth:400,
layout: 'fit',
initComponent: function(){
var tableDiv = this.getTableColumn();
this.items=[tableDiv];
this.callParent();
},
getTableColumn:function() {
return Ext.create('Ext.tree.Panel',{
title:'Tables',
width:300,
heigth:400,
layout: 'fit',
border:true,
store: tableTreeStore,
rootVisible: false
});
}
});
代码中的某处 - 创建CustomPanel
:
Ext.create('CustomPanel', {
});
希望这是你正在寻找的东西。