добавить элемент в карусель сенча - PullRequest
2 голосов
/ 31 мая 2011

В 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 Ответ

6 голосов
/ 31 мая 2011

Я напишу вам простой пример, чтобы показать вам, как динамически добавить новую панель в существующий элемент 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 ().

Надеюсь, это поможет.

...