激活选项卡面板的第二个选项卡

时间:2012-07-16 06:06:45

标签: extjs4 extjs4.1

我有tabpanel,第一个标签上有一个按钮。当我click上的button时,我需要setfocus到第二个标签和activate它(如显示属于该标签的内容)。我的代码如下,我无法setFocusactivate来自Button click event的标签。

Ext.define('MyApp.view.MyTabPanel', {
    extend: 'Ext.tab.Panel',

    height: 250,
    width: 400,
    activeTab: 0,

    initComponent: function () {
        var me = this;

        Ext.applyIf(me, {
            items: [{
                xtype: 'panel',
                title: 'Tab 1',
                items: [{
                    xtype: 'button',
                    text: 'MyButton',
                    listeners: {
                        click: {
                            fn: me.onButtonClick,
                            scope: me
                        }
                    }
                }]
            }, {
                xtype: 'panel',
                title: 'Tab 2'
            }, {
                xtype: 'panel',
                title: 'Tab 3'
            }]
        });

        me.callParent(arguments);
    },

    onButtonClick: function (button, e, options) {
        // Set Focus, and activate the 2nd tab
    }

});

2 个答案:

答案 0 :(得分:4)

找到选项卡面板的容器。获取容器,你可以使用Ext.getCmp

Ext.getCmp('center-region').setActiveTab('your-tab-name');

答案 1 :(得分:2)

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.tab.Panel-method-setActiveTab

还有几个在类级文档中设置活动选项卡的示例。