Extjs4 Extjs 4 Designer 1.2选项卡面板
我正在使用ExtJs 4.0 Ext Designer 1.2.0。 我有一个带有卡片布局的面板,其中包含一个按钮和一个选项卡btn和一个选项卡面板。每个选项卡都包含一个带有按钮的单独工具栏。添加选项卡btn将在关闭时添加选项卡2 我观察到,当我运行应用程序时,可以执行第二个选项卡按钮上的事件,但如果我关闭第二个选项卡并从add tab btn动态添加它,则不会执行该事件 有什么建议吗 下面是我的代码:MyPanel.jsExtjs4 Extjs 4 Designer 1.2选项卡面板,extjs4,tabpanel,Extjs4,Tabpanel,我正在使用ExtJs 4.0 Ext Designer 1.2.0。 我有一个带有卡片布局的面板,其中包含一个按钮和一个选项卡btn和一个选项卡面板。每个选项卡都包含一个带有按钮的单独工具栏。添加选项卡btn将在关闭时添加选项卡2 我观察到,当我运行应用程序时,可以执行第二个选项卡按钮上的事件,但如果我关闭第二个选项卡并从add tab btn动态添加它,则不会执行该事件 有什么建议吗 下面是我的代码:MyPanel.js Ext.define('MyApp.view.MyPanel',
Ext.define('MyApp.view.MyPanel', {
extend: 'MyApp.view.ui.MyPanel',
initComponent: function() {
var me = this;
me.callParent(arguments);
me.down('button[id=addTab]').on('click',me.onAddTabClick,me);
me.down('button[text=Second Button]').on('click',me.onSecondBtnClick,me);
},
onSecondBtnClick: function(){
alert("Second Btn");
},
onAddTabClick: function(){
var myTab = this.down('#myTabPanel').child('#tab2');
if (myTab) {
myTab.show();
} else {
this.down('#myTabPanel').add({
title : 'Tab2',
activeTab: 0,
closable : true ,
id: 'tab2',
items: [{
xtype: 'panel',
id: 'tab2',
closable: true,
title: 'Tab 2',
dockedItems: [
{
xtype: 'toolbar',
height: 29,
id: 'Tab2Toolbar',
dock: 'top',
items: [
{
xtype: 'button',
text: 'Second Button'
}
]
}
]
}]
}).show();
}
}
});
我猜,因为您使用的是initComponent而不是init,所以在首次加载MyPanel时,事件只应用一次。如果您改用init config,我相信无论按钮是否已被销毁,它都会正确地应用您的事件 简言之,请尝试删除initComponent块并替换为该块,因为init是设置事件的正确ExtJS 4方法: init:函数{ 这是我的控制{ '按钮[id=addTab]':{ 单击:this.onAddTabClick }, '按钮[文本=第二个按钮]':{ 单击:this.onSecondBtnClick } }; } 这段代码来自一个控制器,而不是一个专门的面板,所以虽然我希望它能立即工作,但请记住它可能需要一些修改。别忘了你的逗号