11

窓の中にパネルのある窓があります。パネルにコンポーネントを動的に追加します。これらのコンポーネントは、水平に配置されるように「hbox」レイアウトになっています。ボタンをクリックすると、「hbox」レイアウトの同様のコンポーネントの行がパネルにもう1つ追加されます。ここでの問題は、最初の行の下に2番目の行を追加したいのですが、次のコードはパネルの上部にコンポーネントを追加します。

panel.add(items);  #items is the group of comboboxes in hbox layout
panel.doLayout();

この問題を解決するためのアイデアはありますか?最初の行の下にコンポーネントの2番目の行を追加できるようにします。

Extjsバージョンは3.4です

4

2 に答える 2

15

問題の原因を見つけました。

原因:同じ' id 'のコンポーネントをパネルに追加すると、新しく追加されたコンポーネントがパネルの上部に追加されます。

修正:同じコンポーネントをパネルに追加するときに、「 id 」の代わりに「 itemId 」を使用します。

これが誰かに役立つことを願っています。

于 2012-08-30T17:44:11.187 に答える
12

代わりにメソッドを使用insertして、コンポーネントを配置するパネルアイテムのインデックスを指定できます。

var index = panel.items.length;
panel.insert(index, items);

// or if it always going to be the second item
panel.insert(1, items);

ここにそれはドキュメントにあります。

于 2012-08-23T16:26:42.580 に答える