链接到Tab.Panel视图中的第二个tabItem

时间:2012-06-25 10:42:18

标签: sencha-touch extjs sencha-touch-2

是否可以链接到tab.Panel视图并选择第二个或第三个(不是第一个)tabItem?

目前我有一个链接到tab.Panel的视图,如下所示:

Ext.define("app.view.MyView", {
    extend: 'Ext.tab.Panel',
    xtype: 'myview',
    alias: 'widget.myview',
    requires: [
        'Ext.TitleBar',
        'dev.view.1',
        'dev.view.2',
        'dev.view.3',
        'dev.view.4',
        'dev.view.5',
    ],
    config: {
        tabBarPosition: 'bottom',
        title: 'My Title',
        ui: 'neutral',

        items: [
            {
                xtype: 'xtype-of-view-1'
            },
            {
                xtype: 'xtype-of-view-2'
            },
            {
                xtype: 'xtype-of-view-3'
            },
            {
                xtype: 'xtype-of-view-4'
            },
            {
                xtype: 'xtype-of-view-5'
            }
        ]
    }
});

截至目前,当我在视图中加载时,'xtype-of-view-1'被设置为活动选项卡。 但是可以在tab.Panel视图中加载,但是其他一个标签是否处于活动状态并被按下了?

2 个答案:

答案 0 :(得分:1)

Ext.define("app.view.MyView", {
    extend: 'Ext.tab.Panel',
    xtype: 'myview',
    alias: 'widget.myview',
    requires: [
        'Ext.TitleBar',
        'dev.view.1',
        'dev.view.2',
        'dev.view.3',
        'dev.view.4',
        'dev.view.5',
    ],

    config: {
        tabBarPosition: 'bottom',
        title: 'My Title',
        ui: 'neutral',

        items: [
            {
                xtype: 'xtype-of-view-1'
            },
            {
                xtype: 'xtype-of-view-2'
            },
            {
                xtype: 'xtype-of-view-3'
            },
            {
                xtype: 'xtype-of-view-4'
            },
            {
                xtype: 'xtype-of-view-5'
            }
        ]
    },
    initialize: function() {
         var items = this.getItems(),
             itemIdx,
             Ext.each(items, function(item, idx) {
                 if (item.xtype == 'xtype-of-view-2') {
                     itemIdx = idx;
                     return false;
                 }
             });
             this.setActiveItem(itemIdx);
    }
});

您还可以观看精彩的视频指南http://docs.sencha.com/touch/2-0/#!/video/tabs-toolbars

您必须为您的应用添加控制器。在控制器中添加引用

refs: {
    myview: 'myview',
    list: 'anotherview list'
},
control : {
    list: {
        itemtap: 'onListItemTap'
    }
},
onListItemTap: function (ct) {
    var myview = this.getMyview();
    myview.setActiveItem(1)
}

如果您对sencha touch中的MVC一无所知,请阅读sencha教程。例如。 http://docs.sencha.com/touch/2-0/#!/guide/controllers

答案 1 :(得分:0)

您可以将bello配置添加到tab.panel

activeItem :2

表示有效的第三项而非第一项