0
我有一个延伸FormPanel中:ExtJs的延伸部件问题
Ext.ns('myapp');
myapp.StandartForm = Ext.extend(Ext.FormPanel, {
id: 'myForm'
,xtype: 'test'
,frame:true
,initComponent: function(){
var self = this;
this.editWindow = new Ext.Window({
id: 'editWSWin',
layout: 'fit',
title:this.editPanelTitle,
autoScroll:false,
width:300,
html:'hi'
});
var config = {
items: [{
layout:'column',
items:[this.grid],
buttons: [{
text: 'Edit',
id: "editBtn",
handler: this.editFormCreate,
scope: this,
hidden: this.editbuttonHidden,
disabled:true
}]
}]};
// apply config
Ext.apply(this, config);
Ext.apply(this.initialConfig, config);
myapp.StandartForm.superclass.initComponent.call(this);
}
, editFormCreate : function(){
this.editWindow.show();
}
});
Ext.reg(myapp.StandartForm.prototype.xtype, myapp.StandartForm);
在此面板中我按下按钮Edit
和窗口展示。之后,我关闭窗口,再次按下按钮Edit
,但得到的错误:
TypeError: b.dom is undefined
我认为这是意味着我的窗口undifined。
如何扩展FormPanel以正确使用窗口?
UPDATE
函数来创建窗口:
function test(){
var editWindow = new Ext.Window({
id: 'editWSWin',
layout: 'fit',
title:this.editPanelTitle,
autoScroll:false,
width:300,
html:'hi'
});
return editWindow
}
,并称之为:
, editFormCreate : function(){
test.show();
}
但其undifined。
我试图创建其创建窗口每次函数我点击'Edit'按钮像问题更新。但我得到的错误,功能未定。 –
我没有看到您的问题的任何更新。您创建窗体时只创建窗口。 –
Im在initComponent部分创建窗口becouse我也使用在窗口监听器中的initComponent中创建的网格。 –