web-dev-qa-db-ja.com

ExtJsパネル-動的コンポーネントの追加

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

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

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

Extjsバージョンは3.4です

10
AJJ

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

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

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

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

14
AJJ

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

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

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

ここにドキュメントがあります。

9
Geronimo