【问题标题】:How to get panel within vbox layout to fill container?如何在 vbox 布局中获取面板以填充容器?
【发布时间】:2023-04-03 21:44:01
【问题描述】:

我无法让面板填充其容器面板中的空间。该容器是一个具有 vbox 布局的面板,具有两个子面板。我看了Extjs how to set 100% height for vbox panel 并且有类似的东西,但它似乎不起作用。

截图:- http://i.imgur.com/nAbCr.png 屏幕截图来自当我使用“适合”布局或在包含面板中甚至没有组合框或选项视图时。所以,我想要的是让“选项”面板一直向下延伸到“结果”面板。 使用目前的 vbox 布局,这就是我得到的 - http://i.imgur.com/cB0k1.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'
                }
            }]
        }]
    }]
});

【问题讨论】:

    标签: javascript layout extjs panel


    【解决方案1】:

    height: 的值应该是数字,而不是字符串。所以请改用height: 50

    【讨论】:

    • 那么我猜这是因为您的外部“创建报告”面板没有指定布局。你应该给它layout: 'fit'。或者完全移除多余的面板组件。
    • 将布局设置为适合 createpanel 和包含 optiopnsview 的面板已修复它。现在可以完美运行,谢谢!
    【解决方案2】:

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

    这是您的布局运行良好http://jsfiddle.net/dbrin/NJjhB/

    我要添加的另一个建议是使用像 Illuminations for Developers 这样的工具 - 一个了解 ExtJS 框架的萤火虫插件。

    【讨论】:

    • 谢谢!这似乎确实有效,但是组合框也一直延伸到页面的右侧。我已经为它指定了一个特定的宽度,但我猜布局会覆盖它。有什么建议可以解决这个问题吗?
    • 这就是 align:stretch 的作用。如果您需要将组合从该配置中分离出来,您可能需要将其包装到一个容器中,该容器将拉伸但为其子级 [combobox] 提供不同的布局 - 任何有意义的事情。
    • 我想对您的布局发表的另一条评论是要小心在获得所需布局和过度嵌套面板之间取得平衡。过度嵌套会带来性能损失。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    相关资源
    最近更新 更多