Прочитав много примеров добавления новых компонентов в существующий контейнер без перезагрузки всей страницы, я столкнулся с небольшой проблемой при объединении дерева и вкладок внутри компонента Viewport.
То, что я пытаюсь сделать, - это зарегистрировать событие click для узла дерева и загрузить в контейнер содержимого новый компонент, в зависимости от типа узла это может быть tabpanel, gridpanel или любой другой доступный компонент.
вот краткий пример объекта дерева:
{
xtype: 'treepanel',
id: 'tree-panel',
listeners: {
click: function(n) {
var content = Ext.getCmp('content-panel');
content.setTitle(n.attributes.qtip);
//remove all components from content-panel
content.removeAll();
content.add(dummy_tabs2);
content.doLayout();
return;
}
}
}
Все манипуляции с DOM прошли нормально, все зарегистрировано правильно, новый заголовок показан, но dummy_tabs2 не показаны. Я пытался установить различные свойства для doLayout (true | false, true | false), но ничего не происходит.
Я что-то не так делаю?