2013-07-20 79 views
1

在ExtJs 3.4中,我有一個帶有兩個選項卡的TabPanel,第二個選項卡包含一個FormPanel,其中包含一個ButtonGroup。如果第二個選項卡處於活動狀態,當我加載頁面時,一切都很好,但是當第一個選項卡處於活動狀態並且我切換到第二個選項卡時,則按鈕組中沒有按鈕,只是標籤。下面是代碼:ExtJS 3.4:在隱藏的tabpanel中渲染按鈕

var tabs = new Ext.TabPanel({ 
    renderTo: 'tabs', 
    width:500, 
    forceLayout: true, 
    activeTab: 0, 
    deferredRender: false, 
    defaults:{autoHeight: true}, 
    items:[ 
     {contentEl:'tab1', title: 'Tab1'}, 
     {contentEl:'tab2', title: 'Tab2'} 
    ] 
}); 

var form = new Ext.form.FormPanel({ 
    width : 400, 
    autoHeight: true, 
    renderTo: 'form', 
    bodyStyle: 'padding: 5px', 
    items: [ 
     { 
      xtype: 'buttongroup', 
      fieldLabel: 'Label', 
      items: 
      [ 
       { 
        xtype: 'button', 
        text: 'Find By User', 
        width: 100, 
        scope: this, 
        handler: this.handleFind 
       }, 
       { 
        xtype: 'button', 
        text: 'Find All', 
        width: 100, 
        scope: this, 
        handler: this.handleFindAll 
       } 
      ] 
     } 
    ] 
}); 

我設置了deferredRender: falseforceLayout: true,也嘗試了hideMode: 'offsets',但這些並沒有幫助。

回答

0

好吧,我將hideMode: 'offsets'添加到TabPaneldefaults,它工作正常。幾年前我也做了同樣的事情,但沒有得到明顯的結果。

0

刪除renderTo: 'form',並期待在工作代碼here

var form = new Ext.form.FormPanel({ 
    width: 400, 
    autoHeight: true, 
    //renderTo: 'form', 
    bodyStyle: 'padding: 5px', 
    items: [{ 
     xtype: 'buttongroup', 
     fieldLabel: 'Label', 
     items: [{ 
      xtype: 'button', 
      text: 'Find By User', 
      width: 100, 
      scope: this, 
      handler: this.handleFind 
     }, { 
      xtype: 'button', 
      text: 'Find All', 
      width: 100, 
      scope: this, 
      handler: this.handleFindAll 
     }] 
    }] 
}); 

var tabs = new Ext.TabPanel({ 
    renderTo: 'tabs', 
    width: 500, 
    forceLayout: true, 
    activeTab: 0, 
    //deferredRender: false, 
    height: 300, 
    defaults: { 
     autoHeight: true 
    }, 
    items: [{ 
     contentEl: 'tab1', 
     title: 'Tab1' 
    }, { 
     //contentEl: 'tab2', 
     title: 'Tab2', 
     items: [form] 
    }] 
}); 
+0

它給了我一個:遺漏的類型錯誤:無法未定義EXT-all.js的讀取屬性 '事件':7 Ext.Container.Ext。 extend.lookupComponent ext-all.js:7 Ext.Container.Ext.extend.add ext-all.js:7 (匿名函數)ext-all.js:7 Ext.apply.each ext-base.js :7 Ext.Container.Ext.extend.add ext-all.js:7 Ext.Container.Ext.extend.initComponent ext-all.js:7 Ext.Panel.Ext.exten d.initComponent ext-all.js:7 Ext.Component – user1721713

+0

您是否添加了'items:[form]'和comment' // contentEl:'tab2','?正如您在jsfiddle示例中看到的,代碼正在運行。如果你把所有的代碼放在jsfiddle中,我可以看看它。 –

+0

是的,我做到了。因爲我通過將hideMode:'offset'添加到默認值來解決了這個問題。謝謝你的建議! – user1721713