добавить элемент в карусель сенча
В Sencha touch у меня есть карусель, объявленная так:
ajaxNav = new Ext.Panel({
scroll: 'vertical',
cls: 'card1 demo-data',
styleHtmlContent: true,
layout: {
type: 'vbox',
align: 'stretch'
},
defaults: {
flex: 1
},
items: [{
xtype: 'carousel',
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'
}]
}]
});
Кто-нибудь знает, как динамично добавлять элементы??
1 ответ:
Я пишу вам простой пример, чтобы показать, как динамично добавить новую панель к существующей Ext.Элемент карусели.
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 ()".
Надеюсь, это поможет.