http://www.sencha.com/forum/showthread.php?234909-tab-panel-doesn-t-switch-between-tabs-で提案されているように、タブパネルの初期化イベントに this.callParent(arguments) を追加してみましたwhen-added-dynamicallyですが、次のようになります。
Uncaught Error: this.callParent() was called but there's no such method (doFire) found in the parent class (Ext.Base).
誰かが私を正しい方向に向けることができますか?
ありがとうございました。
私のコントローラーは次のとおりです。
Ext.define('MyApp.controller.MyController', {
extend: 'Ext.app.Controller',
config: {
refs: {
mytabpanel: '#mytabpanel'
}
},
init: function(application) {
this.control({
mytabpanel: {
initialize: function(component, options){
var bar = component.getTabBar();
bar.insert(0, { flex:1, xtype:'toolbar', title: '' });
bar.insert(bar.getItems().length,
{
xtype: 'toolbar',
flex: 1,
title: '',
items: [
{
xtype : 'button',
docked: 'right',
ui: 'round',
iconCls: 'info',
iconMask: true,
handler: function(){
}
}
]
});
this.callParent(arguments);
}
}
});
}
});
私の見解は次のとおりです。
Ext.define('MyApp.view.MyTabPanel', {
extend: 'Ext.tab.Panel',
config: {
id: 'mytabpanel',
items: [
{
xtype: 'container',
title: 'Tab 1',
iconCls: 'info',
html: 'tab 1'
},
{
xtype: 'container',
title: 'Tab 2',
iconCls: 'info',
html: 'tab 2'
},
{
xtype: 'container',
title: 'Tab 3',
iconCls: 'info',
html: 'tab 3'
}
],
tabBar: {
docked: 'bottom'
}
}
});
編集 12 月 30 日日曜日午前 6:57 (GMT - 4:00)
ウェブを検索したところ、初期化をオーバーライドしているため、スーパークラスの初期化メソッドを呼び出して、そのコードも実行されるようにする必要があると考えています。user1479606 が指摘したように、 this.callParent を呼び出すことは決して機能しません。そこで、問題は次のようになります: スーパークラスの初期化メソッドを呼び出すにはどうすればよいでしょうか?