0

tab.Panel ビューにリンクして、2 番目または 3 番目 (最初ではない) の 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 ビューにロードすることは可能ですが、他のタブの 1 つをアクティブにして押したままにすることはできますか?

4

2 に答える 2

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

于 2012-06-25T11:04:11.503 に答える
0

あなたはベロ設定をに追加することができますtab.panel

activeItem :2

最初のアクティブな3番目のアイテムの場合

于 2012-06-25T12:19:21.183 に答える