以下のコードでは、activeTab を 0 に設定すると、/viewer/welcome の内容が期待どおりに表示されます。(以下のように) activeTab を 1 に設定すると、ロード時に 2 番目のタブがアクティブになりますが、最初のタブをクリックすると、コンテンツが表示されません。タブをクリックする前にタブのコンテンツをロードしているのがわかります(autoLoad: false を設定すると、まったくロードされません)が、ロードしても表示されません。
{
xtype: 'tabpanel',
activeTab: 1,
items: [
{
xtype: 'panel',
loader: {
url: '/viewer/welcome/',
renderer: 'html',
autoLoad: true
},
layout: {
type: 'fit'
},
title: 'Welcome'
},
...
}
タブがアクティブ化されたときに、タブのコンテンツが実際にレンダリングされないのはなぜですか? そのタブがロード時にアクティブなタブである場合に機能するのに、それ以外の場合にアクティブ化された場合に機能しないのはなぜですか?
これらの変更を行うと、テキストは常に期待どおりに表示されますが、誤ったアクティブ化呼び出しによって余分なページが読み込まれます。
{
xtype: 'tabpanel',
activeTab: 1,
items: [
{
xtype: 'panel',
loader: {
url: '/viewer/welcome/',
renderer: 'html',
autoLoad: false
},
layout: {
type: 'fit'
},
title: 'Welcome',
listeners: {
activate: function(me, opts) {
me.getLoader().load();
}
}
},
...
}
タブがこのコンテンツをタブの一部として管理していない理由がわかりません.....