首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整vbox的子项

调整vbox的子项
EN

Stack Overflow用户
提问于 2013-09-05 13:51:59
回答 1查看 2.8K关注 0票数 0

我们最近将ext-js从4.1更新到4.2。在4.1上,按照下面的代码,可以调整此处使用的vbox的子项的大小。我们可以在这些子项目之间拖动边框,这两个项目都会调整大小。

在4.2没有办法调整这些儿童的尺寸。在指向正确的空间时,甚至光标都不会改变形状。

代码语言:javascript
复制
Ext.define('Example.view.NavPanel', {
    extend: 'Ext.panel.Panel',
    alias: 'widget.exampleNavPanel',
    requires: ['Example.view.example.List', 'Example.view.example2.List', 'Example.view.paneledycji.EditTabPanel'],
    layout: {
        type: 'vbox',
        align: 'stretch',
        pack: 'start'
    },
    items: [
        {
            xtype: 'panel',
            title: 'Navpanel',
            collapsible: true, 
            flex: 1,
            layout: {
                type: 'hbox',
                pack: 'start',
                align: 'stretch'
            },
            items: [
                {xtype: 'exampleList', flex: 1},
                {xtype: 'example2List', flex: 3}
            ]

        },
        {
            xtype: 'editTabPanel',
            flex: 1
        }
    ]
});

我试着添加

代码语言:javascript
复制
resizable:true

敬第一个孩子。它使光标在指向边框时改变形状,我可以拖动它.但孩子们不会调整尺寸。当我从第一个孩子身上删除flex时,我终于可以调整项目的大小了,但是它没有什么问题:

  • 我可以调整第一个项目的高度和宽度,我只想要高度,这是它在4.1中的工作方式。
  • vbox会为第一个孩子提供足够的空间,如果第一个孩子太大了,第二个孩子甚至不在窗口里,这样就不可能看到第一个孩子,也不可能调整第一个孩子的大小,因为边框离屏幕很远。
  • 在任何一个孩子上设置minHeight都没有任何效果

我希望能够为上孩子设置最小和最大的高度,最好是百分比,并禁用宽度调整。理想情况下,我也希望能够为两个孩子设置默认大小。我无法用docs.sencha.com列出的任何信任组合来解决这个问题。我要怎样做才能达到这个效果呢?

EN

回答 1

Stack Overflow用户

发布于 2013-09-05 15:24:09

可以在初始布局之后使用flex事件删除boxready属性。这样,您就可以从初始的自动调整大小中获益,但它不会阻止组件稍后被调整大小。

对于第二个问题,请使用resizeHandles选项指定可抓取的用于调整大小的边。

代码语言:javascript
复制
Ext.define('Example.view.NavPanel', {
    extend: 'Ext.panel.Panel',
    alias: 'widget.exampleNavPanel',
    layout: {
        type: 'vbox',
        align: 'stretch'
    },
    items: [{
        xtype: 'panel',
        title: 'Navpanel',

        flex: 1,

        resizable: true,
        resizeHandles: 's',

        listeners: {
            single: true,
            boxready: function() {
                delete this.flex;
            }
        }
    },{
        xtype: 'component',
        html: 'editTabPanel',
        flex: 1
    }]
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18638221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档