Панель ExtJs-добавление динамических компонентов

У меня есть окно с панели внутри окна. Я добавляю компоненты в панель динамически. Эти компоненты находятся в макете "hbox" так, что они расположены горизонтально. При нажатии кнопки я добавлю еще одну строку подобных компонентов в макет "hbox"на панель. Здесь проблема в том, что я хочу добавить вторую строку ниже первой строки, но следующий код добавляет компоненты в верхнюю часть панели.

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

есть идеи для решения этой проблемы? чтобы я мог добавьте вторую строку компонентов под первой строкой.

Extjs версия 3.4

2 ответов


Я нашел причину проблемы.

причина: когда мы добавляем компоненты с таким же 'id ' к панели, после этого заново добавленный компонент получит добавленным к верхней части панели.

исправить: используйте 'атрибут Itemid "вместо"id ' при добавлении того же компонента в панель.

надеюсь, это будет полезно для кого-то.


можно использовать insert метод вместо этого, чтобы указать индекс элементов панели, которые вы хотите поместить свой компонент в:

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

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

вот он в документах.