从分段按钮切换Sencha Touch中的选项卡面板中的视图

时间:2015-11-26 09:16:05

标签: javascript extjs sencha-touch

我有一个使用Sencha Touch 2创建的应用程序,我需要创建一个卡片布局,其中不同的视图使用分段按钮切换,(遵循MVC概念)但它不起作用..

我的观点:

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进行了测试但是它没有用...任何线索,请!

谢谢

2 个答案:

答案 0 :(得分:0)

您可以将ID添加到卡片容器中,然后在分段按钮侦听器上使用setActiveItem

  

private static final long TIMEOUT_ADVERTISE = 0L; private static final long TIMEOUT_DISCOVER = 0L;

示例:

    {
        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'
              }
            ]
          },
        ]
    }

然后在你的分段按钮

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

当然,这不是完美的答案,因为我们没有使用控制器,但它解决了问题。

答案 1 :(得分:0)

我找到了解决方案,我将'flex:1'添加到主容器中,现在它正在运行..

感谢您的帮助!