2013-04-14 177 views
1

我想呈現一個採用整個水平空間的Panel。然後,我試圖在面板A下面渲染兩個面板B和C,都佔據了水平面的50%。ExtJS面板佈局:如何正確佈局面板

因此,我要實現的是這樣的結構:

------------- 
|  A  | 
------------- 
| B | C | 
------------- 

但如本fiddle我實現以下面板渲染:

------------- 
|  A  | 
------------- 
|  B  | 
------------- 
|  C  | 
------------- 

請隨時到餐桌的fiddle如上所述實現我需要的對齊。

回答

3

如何有這樣的觀點:

Ext.define('MyApp.view.MyContainer', { 
    extend: 'Ext.container.Container', 
    padding: 10, 
    layout: { 
     align: 'stretch', 
     pack: 'center', 
     type: 'vbox' 
    }, 

    initComponent: function() { 
     var me = this; 

     Ext.applyIf(me, { 
      items: [ 
       { 
        xtype: 'panel', 
        flex: 1, 
        height: 150, 
        title: 'A' 
       }, 
       { 
        xtype: 'container', 
        flex: 1, 
        height: 150, 
        layout: { 
         padding: '10 0 10 0', 
         align: 'stretch', 
         type: 'hbox' 
        }, 
        items: [ 
         { 
          xtype: 'panel', 
          flex: 1, 
          width: 150, 
          title: 'B' 
         }, 
         { 
          xtype: 'panel', 
          flex: 1, 
          width: 150, 
          title: 'C' 
         } 
        ] 
       } 
      ] 
     }); 
     me.callParent(arguments); 
    } 
}); 
+1

唯一的評論我要提出的是,填充真正屬於組件上,而不是佈局。這可能會隨着時間的推移而逐漸消失。 –