如何在vbox布局中获取面板来填充容器

How to get panel within vbox layout to fill container?

本文关键字:填充 获取 vbox 布局      更新时间:2023-09-26

我在获取一个面板来填充其容器面板中的空间时遇到问题。容器是一个具有vbox布局的面板,该布局具有两个子面板。我看了Extjs如何为vbox面板设置100%高度有类似的东西,但似乎不起作用。

屏幕截图:-https://i.stack.imgur.com/9mZ5G.png屏幕截图来自于我使用"适合"布局,或者在包含面板中甚至没有组合框或选项视图。所以,我想要的是"选项"面板一直向下延伸到"结果"面板。对于目前的vbox布局,这就是我所得到的-https://i.stack.imgur.com/6vInp.png

Ext.define('PA.view.CreateReportView', {
    extend: 'Ext.panel.Panel',
    alias: 'widget.createreportview',
    id: 'createreport-panel',
    requires: [
        'PA.view.OptionsView', // options panel
    'PA.common.Connection'],
    title: 'Create Report',
    items: [{
        xtype: 'panel',
        layout: {
            type: 'vbox',
            align: 'stretch'
        },
        items: [{
            xtype: 'panel',
            border: false,
            height: '50px',
            items: [{
                xtype: 'combobox',
                ....
            }]
        }, {
            xtype: 'panel',
            border: false,
            flex: 1,
            items: [{
                xtype: 'optionsview', // options panel
                style: {
                    paddingTop: '10px'
                }
            }]
        }]
    }]
});

height:的值应该是一个数字,而不是字符串。因此,请改用height: 50

我认为您已经接近所需。几个观察结果:1.高度需要设置为整数(无px后缀)2.每个将有子容器的容器都应该为它们定义一个布局,即使有默认布局——这可能不是你想要的。

这是你的布局,效果不错http://jsfiddle.net/dbrin/NJjhB/

我想补充的另一个建议是使用像Illuminations for Developers这样的工具——一个了解ExtJS框架的firebug插件。