2013-08-22 96 views
1

我有一個tabpanel:ExtJS的動態切換標籤的位置在一個tabpanel

{ 
    xtype: 'tabpanel', 
    tabPosition: 'top', // it's default value 
    items: [/*tabs*/] 
} 

還有一些按鈕,改變佈局:

{ 
    xtype: 'button', 
    text: 'Change layout', 
    handler: function (btn) { 
     var layout = App.helper.Registry.get('layout'); 
     if (layout === this.getCurrentLayout()) { 
      return; 
     } 
     if (layout === 'horizontal') { 
      newContainer = this.down('container[cls~=split-horizontal]');//hbox laout 
      oldContainer = this.down('container[cls~=split-vertical]');//vbox layout 
      tabPanel.tabPosition = 'top'; 
     } else { 
      newContainer = this.down('container[cls~=split-vertical]'); 
      oldContainer = this.down('container[cls~=split-horizontal]'); 
      tabPanel.tabPosition = 'bottom'; 
     } 
     oldContainer.remove(somePanel, false); 
     oldContainer.remove(tabPanel, false); 

     newContainer.insert(0, somePanel); 
     newContainer.insert(2, tabPanel); 

     newContainer.show(); 
     oldContainer.hide(); 

    } 

當我改變佈局,我也需要改變標籤的位置。 當然,更改配置屬性tabPosition不起作用。

如何動態切換tabPosition?

回答

1

恐怕tabpanel的情況下,唯一的辦法是銷燬當前面板,並從配置對象重新創建它與0123'設置更改。您可以使用cloneConfig()方法從現有面板獲取配置對象。