Активируйте 2-ю вкладку панели вкладок

У меня есть tabpanel и кнопка на 1-й вкладке. Когда я click на этой button, мне нужно setfocus перейти на 2-ю вкладку и activate ее (как при показе содержимого, принадлежащего этой вкладке). Мой код выглядит следующим образом, и я не могу открыть эту вкладку setFocus или activate из файла 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
    }

});

person sharon Hwk    schedule 16.07.2012    source источник


Ответы (2)


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

Также есть несколько примеров установки активной вкладки в документации уровня класса.

person Evan Trimboli    schedule 16.07.2012

Найдите контейнер панели вкладок. чтобы получить контейнер, вы можете использовать Ext.getCmp

Ext.getCmp('center-region').setActiveTab('your-tab-name');
person Jom    schedule 16.07.2012