2012-09-26 53 views
1

我创建了一个ExtJS嵌套选项卡面板,但我找不到如何切换嵌套选项卡。任何人都可以帮助我。非常感谢。ExtJS嵌套tabpanel

下面是我的js代码:

var clubs = new Ext.TabPanel({ 
    renderTo:'clubs', 
    activeTab:0, 
    autoHeight:true, 
    defaults:{ 
     autoHeight:true, 
     cls:'tab-panel-item' 
    }, 
    items:[{ 
     title:'Shanghai', 
     cls:'nested-tab', 
     id:'shanghai-tab', 
     items:{ 
     xtype:'tabpanel', 
     defaults:{ cls:'tab-panel-item', autoHeight:true }, 
     containerCls:'nested-tab', 
     activeTab:0, // required 
     items:[{ 
        contentEl:'badminton', 
        title:'Badminton' 
       },{ 
        contentEl:'basketball', 
        title:'Basketball' 
       }] 
     } 
    },{ 
     title:'Hangzhou', 
     cls:'nested-tab', 
     items:{ 
     xtype:'tabpanel', 
     defaults:{ cls:'tab-panel-item', autoHeight:true }, 
     containerCls:'nested-tab', 
     activeTab:0, // required 
     items:[{ 
        contentEl:'hz-parent-child', 
        title:'Parent-child' 
       },{ 
        contentEl:'hz-football', 
        title:'Football' 
       }] 
     } 
    }] 
}); 

我尝试激活(),但它只能切换父标签。

回答

1

我猜你正在使用ExtJS 3.x? 从哪里可以改变标签?

你可以使用Ext.getCmp('Your-Tab-Panel-Id');

var clubs = new Ext.TabPanel({ 
    renderTo:'clubs', 
    activeTab:0, 
    autoHeight:true, 
    defaults:{ 
     autoHeight:true, 
     cls:'tab-panel-item' 
    }, 
    items:[{ 
     title:'Shanghai', 
     cls:'nested-tab', 
     id:'shanghai-tab', 
     items:{ 
     xtype:'tabpanel', 
     id:'shanghai-tab-nested-first', 
     defaults:{ cls:'tab-panel-item', autoHeight:true }, 
     containerCls:'nested-tab', 
     activeTab:0, // required 
     items:[{ 
        contentEl:'badminton', 
        title:'Badminton' 
       },{ 
        contentEl:'basketball', 
        title:'Basketball' 
       }] 
     } 
    },{ 
     title:'Hangzhou', 
     cls:'nested-tab', 
     items:{ 
     xtype:'tabpanel', 
     id:'shanghai-tab-nested-second', 
     defaults:{ cls:'tab-panel-item', autoHeight:true }, 
     containerCls:'nested-tab', 
     activeTab:0, // required 
     items:[{ 
        contentEl:'hz-parent-child', 
        title:'Parent-child' 
       },{ 
        contentEl:'hz-football', 
        title:'Football' 
       }] 
     } 
    }] 
}); 

Ext.getCmp('shanghai-tab-nested-second').Activate(1); 
Ext.getCmp('shanghai-tab-nested-first').Activate(1); 
+0

谢谢sra,我使用的是Extjs 3.2。我想在点击按钮时更改标签。我试过Ext.getCmp(),但我得到的组件是一个面板而不是tabPanel。 – CunruiLi

+0

@CunruiLi嗯,据我看到你的代码中唯一的Id引用一个面板而不是TabPanel,因此我在我的示例中更改了这个,以便该Id属于TabPanels而不是包装面板 – sra

+0

非常感谢。有用。 – CunruiLi