Sencha Touch - как я могу получить доступ к кнопке «Назад» при переключении элементов с помощью setActiveItem ()? - PullRequest
0 голосов
/ 29 ноября 2011

Проблема:

Я переключаю Панели, используя setActiveItem () в соответствии с вопросом-ответом на по этой ссылке

App.views.viewport.getActiveItem().setActiveItem(App.views.Panel, { type: 'slide', direction: 'left' });

Все отлично работает, но как мне получить доступ к кнопке "Назад"?

Я подозреваю, что есть только 1 кнопка "назад", и я должен изменить его свойства (текст, обработчик). Как я могу это сделать?

Спасибо, Шломи.

P.S., думая об этом, я должен изменить все свойства бара, а также его название.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Я попытаюсь ответить на этот вопрос, ссылаясь на предыдущий вопрос о панелях.

Сначала добавьте кнопку возврата на верхнюю панель панели.

initComponent: function () {
      Ext.apply(this, {
       dockedItems: [{
            xtype: "toolbar",
            title: "Ingressos",
            items:[{
                 xtype: 'button',
                 text: 'Back',
                 handler: function () {

                 }
            }]
       }],
       items: [Mobz.views.IngressosList]
    });
   Mobz.views.Ingressos.superclass.initComponent.apply(this, arguments);
}

После этого, когда пользователь переходит на следующую страницу, получает доступ к кнопке «Назад» и меняет ее обработчик (я не предпочитаю менять обработчик, я предпочитаю создать механизм стека, чтобы пойти дальше, но это ваш выбор :)).

Mobz.views.viewport.getActiveItem() //panel

Mobz.views.viewport.getActiveItem().dockedItems.items[0] // toolbar

Вы ищете кнопку возврата;

Mobz.views.viewport.getActiveItem().dockedItems.items[0].items.items[0] // back button

Mobz.views.viewport.getActiveItem().dockedItems.items[0].title // toolbars title
0 голосов
/ 30 ноября 2011
{
    xtype: 'button',
    text: 'Back',
    handler: function () {
        App.views.viewport.setActiveItem([The panel you want to go], {type: 'slide', direction: 'right'});
    }
}

Добавьте кнопку на панель «App.views.viewport».

...