2

tabpanel在第一个选项卡上有一个 , 和一个按钮。当我click在那时button,我需要到setfocus第二个选项卡和activate它(如显示属于该选项卡的内容)。我的代码如下,我setFocus无法activateButton 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
    }

});
4

2 回答 2

4

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

Ext.getCmp('center-region').setActiveTab('your-tab-name');
于 2012-07-16T06:50:07.523 回答
2

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

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

于 2012-07-16T06:27:58.913 回答