2015-11-26 2 views
2

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

Мое мнение:

config: { 
    layout: 'vbox', 
    items : [ 
     { 
     xtype: 'header' 
     }, 
     { 
     xtype: 'container', 
     layout: 'card', 
     items: [ 
      { 
      xtype: 'container', 
      layout: 'vbox', 
      itemId: 'presence', 
      items: [ 
       { 
       xtype: 'surveyHeaderBrands' 
       }, 
       { 
       xtype: 'surveyEditorMatrix', 
       flex : 1 
       } 
      ] 
      }, 
      { 
      xtype: 'container', 
      layout: 'vbox', 
      itemId: 'auxiliaryFields', 
      items: [ 
       { 
       xtype: 'button', 
       text: 'button' 
       } 
      ] 
      }, 
      { 
      xtype: 'container', 
      layout: 'vbox', 
      itemId: 'profiles', 
      items: [ 
       { 
       xtype: 'button', 
       text: 'button2' 
       } 
      ] 
      }, 
      { 
      xtype: 'container', 
      layout: 'vbox', 
      itemId: 'photos', 
      items: [ 
       { 
       xtype: 'button', 
       text: 'button3' 
       } 
      ] 
      } 
     ] 
     } 
    ] 
    } 

В контроллере я не знаю, какой код должен быть правильным .. я испытал с this.control Etcetera, но это не работает ... любой ключ, пожалуйста!

Спасибо

ответ

0

Я нашел решение, я добавил «сгибать: 1» в основной контейнер, и теперь он работает ..

Спасибо за вашу помощь!

0

Вы можете добавить идентификатор контейнера карты, а затем использовать setActiveItem на сегментированных кнопку слушателю

Ext.getCmp("yourcardcontainerid").setActiveItem()

Пример:

 
    { 
     xtype: 'container', 
     layout: 'card', 
     id: 'mynewid', 
     items: [ 
      { 
      xtype: 'container', 
      layout: 'vbox', 
      itemId: 'presence', 
      items: [ 
       { 
       xtype: 'surveyHeaderBrands' 
       }, 
       { 
       xtype: 'surveyEditorMatrix', 
       flex : 1 
       } 
      ] 
      }, 
      { 
      xtype: 'container', 
      layout: 'vbox', 
      itemId: 'auxiliaryFields', 
      items: [ 
       { 
       xtype: 'button', 
       text: 'button' 
       } 
      ] 
      }, 
     ] 
    } 

Затем в сегментированная кнопка

xtype: 'button', 
handler: function() 
{ 
    Ext.getCmp("mynewid").setActiveItem(1); 
} 

Определенно это не идеальный ответ, так как мы не используем контроллер, но он решает проблему.

Смежные вопросы