自动调整包含自定义ExtJS 4.2表单字段的容器面板的大小?

时间:2014-03-14 16:26:49

标签: extjs extjs4.2 extjs-form

我有一个基于Ext.form.field.Base的自定义字段组件。我从这个post得到了很大的想法。但是,解决这个问题的原因是它有一个固定的高度。我想要的是,当我向网格添加条目时,容器的高度会增加。

我之前尝试制作这样的字段,但是基于包含网格和按钮的Panel。将此面板放入vbox布局并向网格添加行可以完美地调整容器表单面板的大小。我错过了实现容器调整大小的内容?

这是一个小提琴,你应该很容易看出我的意思: http://jsfiddle.net/amx9j/

1 个答案:

答案 0 :(得分:1)

我终于开始工作了!

请看这个小提琴:http://jsfiddle.net/amx9j/3/

form的此配置有效:

layout: {
    type: 'vbox',
    align: 'stretch'
},
items: [{
    xtype: 'container',
    layout: 'anchor',
    items: [{
        //custom fields that change their height
}]

在自定义字段中,每当您希望高度发生变化时,您都必须使用this.updateLayout()。另外,我必须实现onResize方法:

onResize: function(w, h) {
    this.callParent(arguments);
    this.grid.setWidth(w - this.getLabelWidth());
}

重要的是,要不设置网格的高度; - )

感谢@Peter花时间研究这个问题!