11

我在窗口内有一个带有面板的窗口。我动态地将组件添加到面板中。这些组件采用“hbox”布局,因此它们是水平排列的。单击按钮时,我将在“hbox”布局中向面板添加另一行类似的组件。这里的问题是我想在第一行下面添加第二行,但是下面的代码将组件添加到面板的顶部。

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

有什么想法可以解决这个问题吗?这样我就可以在第一行下方添加第二行组件。

Extjs 版本是 3.4

4

2 回答 2

15

我找到了问题的原因。

原因:当我们将具有相同 ' id ' 的组件添加到面板时,新添加的组件将被添加到面板的顶部。

修复:在面板中添加相同组件时使用“ itemId ”而不是“ id ”。

希望这对某人有用。

于 2012-08-30T17:44:11.187 回答
12

You can use insert method instead to specify the index of panel items that you want to put your component at:

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

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

Here it is in the docs.

于 2012-08-23T16:26:42.580 回答