Я напишу вам простой пример, чтобы показать вам, как динамически добавить новую панель в существующий элемент Ext.Carousel.
Ext.setup({
onReady: function() {
var ajaxNav = new Ext.Carousel({
fullscreen: true,
dockedItems: {
xtype: 'toolbar',
title: 'Demo',
items: [{
xtype: 'button',
ui: 'action',
text: 'Add',
handler: function(){
var element = new Ext.Panel({
html: 'New Element'
});
ajaxNav.add(element);
ajaxNav.doLayout();
}
}]
},
items: [{
id:'tab-1',
html: '',
cls: 'card card1'
},{
id:'tab-2',
html: '<p>Clicking on either side of the indicators below</p>',
cls: 'card card2'
},{
id:'tab-3',
html: 'Card #3',
cls: 'card card3'
}]
});
}
});
Как вы можете видеть, в событии нажатия кнопки «Добавить» сначала нужно определить свою панель в соответствии с вашими потребностями, затем добавить ее в свою карусель, и, самое главное, вы должны позволить карусели пересчитать его раскладка вызывает функцию doLayout ().
Надеюсь, это поможет.