0

に基づくカスタム フィールド コンポーネントがありますExt.form.field.Baseこの投稿から大きなアイデアを得ました。しかし、このソリューションで私を悩ませているのは、高さが固定されているという事実です。代わりに、グリッドにエントリを追加するとコンテナの高さが大きくなるようにしたいと考えています。

このようなフィールドを作成しようと以前に試みましたが、グリッドとボタンを含むパネルに基づいています。このパネルをvboxレイアウトに配置し、グリッドに行を追加すると、コンテナ フォーム パネルのサイズが完全に変更されました。コンテナのサイズが変更されることを実装するのに何が欠けていましたか?

ここに、私が何を意味するかを簡単に理解できるフィドルがあります: http://jsfiddle.net/amx9j/

4

1 に答える 1

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!

于 2014-03-19T08:48:55.370 に答える