境界線レイアウトのコンテナを含むExtJSビューポートがあり、中央領域のコンテナで水平スクロールをサポートしたいと考えています。これは現在のコードのようです(これはRailsアプリケーションの一部なので、コンテンツの一部をレンダリングするERBコードを許してください):
var viewport = Ext.create('Ext.container.Viewport', {
defaultType: 'container',
layout: 'border',
items: [
{
defaultType: 'container',
minWidth: 800,
region: 'north',
items: [
<%= render "shared/header" %>
,<%= render "shared/title_bar" %>
]
},{
defaultType: 'container',
minWidth: 800,
region: 'center',
autoScroll: true,
items: [
<%= ext_site_flash_panel(:alert, flash[:site_alert]) %>,
<%= ext_site_flash_panel(:notice, flash[:site_notice]) %>,
<%= ext_flash_panel(:alert, flash[:alert]) %>,
<%= ext_flash_panel(:notice, flash[:notice]) %>,
{
defaultType: 'container',
margin: '20 20 20 20',
defaults: {
margin: '0 0 15 0'
},
items: [
<% if content_for?(:top_section) %>
<%= yield :top_section %>,
<% end %>
<%= content_for?(:main_content) ? yield(:main_content) : yield %>
]
},{
id: 'footer',
defaultType: 'container',
padding: '10 0 10 0',
layout: {
type: 'hbox',
align: 'middle',
pack: 'center'
},
items: [
{
html: '<%= escape_javascript(render 'shared/copyright') %>'
}
]
}
]
}
]
});
私が期待する動作は、ウィンドウのサイズが中央のコンテナの幅が800ピクセル未満になると、スクロール可能になるというものです。代わりに、ウィンドウがコンテンツに合わせて800ピクセルであるかのようにレンダリングされますが、スクロールせずに画面の横から落ちるだけです。trueにautoScroll
設定すると、コンテンツがウィンドウに対して大きすぎる場合にのみ垂直方向にスクロールできるようになります。
どうすれば目的の動作を得ることができますか?
注:この非常によく似た質問で述べた解決策を試しましたが、機能していないようです。