我有一个带有 VBox 布局的 Ext JS 面板(对齐拉伸)。里面有两个容器。
当窗口调整大小时,我希望容器像这样调整大小:
注意:顶部的最小高度必须为200px
. 每个元素上的内容应该会自动溢出。
编辑:为了澄清,每个图像都显示了面板在各种窗口大小下的所需布局。以下是每张图片的说明(从左到右):
所有内容都适合窗口时的布局。顶部部分的高度(在此状态下)由其子元素的高度决定。
当窗口垂直调整到底部
100px
高(最大高度)的点时的布局。直到此时,底部部分将调整大小并溢出,但顶部部分的高度将保持不变。调整窗口大小时的布局。现在,不是底部调整大小,而是顶部应该调整大小并溢出。
这是我的代码(为便于阅读而简化):
Ext.define('MyApp.view.MyView', {
extend: 'Ext.panel.Panel',
layout: {
type: 'vbox',
align: 'stretch',
},
autoScroll: true,
items: [
{
xtype: 'container',
autoScroll: true,
layout: {
type: 'vbox',
align: 'stretch'
},
minHeight: 200
items: [
// There are a few variable height elements here
]
},
{
xtype: 'bottomSection',
minHeight: 100,
autoScroll: true
flex: 1
}
]
});
这在某种程度上有效,但在底部部分调整到最小高度 ( 100px
) 后,顶部部分不会开始收缩。
有没有办法使用纯 Ext JS 来实现这个功能?如果没有,是否有一种简单的方法可以通过处理事件(即onResize
)来做到这一点?