javascript – 在ExtJS中,如何将两个字段集并排放置在具有hbox布局的面板中?

在ExtJS中,我在使用hbox布局的面板中并排放置两个fieldset时遇到了一些麻烦. hbox布局似乎没有意识到fieldset的高度,并将其切断,即使我明确地将面板的高度设置为大的高度.

这是它的样子:

http://img717.imageshack.us/img717/4849/screenshot20100303at927.png

蓝色边框是hbox面板,里面有2个字段集,“客户信息”和“所有者信息”.代码是这样的(在Firebug中简化和运行):

var clientInfo = {
    xtype: 'fieldset',
    defaultType: 'textfield',
    title: 'Client Info',
    items:
    [
        { fieldLabel: 'First Name' },
        { fieldLabel: 'Last Name' },
        { fieldLabel: 'Cell Phone #' },
        { fieldLabel: 'Work Phone #' }
    ]
};

var ownerInfo = {
    xtype: 'fieldset',
    defaultType: 'textfield',
    title: 'Owner Info',
    items:
    [
        { fieldLabel: 'First Name' },
        { fieldLabel: 'Last Name' },
        { fieldLabel: 'Cell Phone #' },
        { fieldLabel: 'Work Phone #' }
    ]
};

new Ext.Panel({
    layout: 'hbox',
    frame: true,
    height: 400,
    width: 800,
    defaults: { flex: 1 },
    items: [ clientInfo, ownerInfo ]
}).render(document.body);

附:如果删除默认值:{flex:1},则字段集会正确呈现,但不会自动调整大小以适应容器,这是我需要的.

有人知道如何解决这个渲染问题吗?谢谢.

最佳答案
尝试autoHeight:在您的fieldsets中为true.

另一种替代方案可能是列布局,其中每列给出50%的可用宽度.

转载注明原文:javascript – 在ExtJS中,如何将两个字段集并排放置在具有hbox布局的面板中? - 代码日志