こんにちは、vbox レイアウトを使用して tabpanel のタブに自動スクロールバーを表示しようとしています。
これは私にとってはうまくいきません。「高さ」構成値が無視されているようです。
Ext.create('Ext.window.Window', {
title: 'Hello',
height: 200,
width: 400,
layout: 'fit',
items:
{
xtype: 'tabpanel',
items: [{
autoScroll: true,
height: 1000,
title: 'Bar',
layout: 'vbox',
align: 'stretch',
items: [
{
xtype: 'panel',
flex: 1,
border: 1,
style: {borderColor:'#FF0000', borderStyle:'solid', borderWidth:'1px'},
html: 'hi!'
},
{
xtype: 'panel',
flex: 3,
border: 1,
style: {borderColor:'#00FF00', borderStyle:'solid', borderWidth:'1px'},
html: 'hi too!'
}
]
}]
}
}).show();
代わりに、これは完全に機能しています:
function getLongText(rc) {
var lt = '';
for(var i=0; i < 100; ++i) {
lt += rc + '<br>';
}
return lt += 'END<br>';
}
Ext.create('Ext.window.Window', {
title: 'Hello',
height: 200,
width: 400,
layout: 'fit',
items:
{
xtype: 'tabpanel',
items: [{
autoScroll: true,
title: 'Bar',
html: getLongText('A')
}]
}
}).show();
タブパネルは「フィット」レイアウトで作成されており、問題ありません。また、内側のパネルの高さをコンテナの高さよりも意図的に高く設定しています。内側のパネルで「autoscroll」ヒントを指定するようにしましたが、それも問題ありません。
どうやらインナーパネルの「高さ」に問題があるようです。効果はないようです。Vbox レイアウトは、含まれる各コンポーネントの「flex」プロパティに従って、コンテナーの高さを分割することになっています。
何か案が?ありがとう。
アンドレア