Добавление панелей с помощью обработчика кнопок в Sencha Touch - PullRequest
0 голосов
/ 11 июля 2011

Мне нужна небольшая помощь, я создаю приложение в Sencha Touch и мне нужно менять закрепленные элементы в контейнере при нажатии кнопки.Я предполагаю, что это лучший способ изменить содержимое в приложении (т.е. переключаться между страницами).

Пока у меня есть следующий код -

var App = new Ext.Application({
    name: 'Test',
    useLoadMask: true,
    launch: function () {

        // Toolbar
        Test.views.toolbar = new Ext.Toolbar({
            id: 'toolbar',
            title: 'Friend Pay'
        });

        // Content
        Test.views.content = new Ext.Panel({
            id: 'content',
            layout: 'fit',
            dockedItems: [{
                cls: 'copy',
                html: '<h2>Copy block</h2>'
            }, {
                xtype: 'button',
                id: 'buttonPanel',
                html: 'Request Payment',
                handler: function () {
                    // Link to newBlock panel
                }
            }]
        });

        // Content
        Test.views.newBlock = new Ext.Panel({
            id: 'content',
            layout: 'fit',
            dockedItems: [{
                cls: 'copy',
                html: '<h2>Test 2</h2>'
            }]
        });

        // Container
        Test.views.container = new Ext.Panel({
            id: 'container',
            layout: 'fit',
            dockedItems: [Test.views.toolbar, Test.views.content]
        });

        // Viewport - Entire screen
        Test.views.viewport = new Ext.Panel({
            fullscreen: true,
            scroll: 'vertical',
            items: [Test.views.container]
        });

    }
});

Какая функция требуется в теге function (), чтобы обработчик кнопки изменил dockedItem в контейнере на newBlock, а не на content,

Большое спасибо за помощь заранее.

1 Ответ

0 голосов
/ 11 июля 2011

addDocked и removeDocked .

Test.views.viewport.removeDocked( Test.views.content )
Test.views.viewport.addDocked( Test.views.newBlock )

Кажется немного странным, что вы добавляете контент в dockedItems, хотя, возможно, вы хотите добавить егонормальная items коллекция?В любом случае, ознакомьтесь со всем доступным для Ext.Panel в main api docs , чтобы ознакомиться со стандартными функциями компонентов.

...