2012-06-27 58 views
2

我有這種說法(DetailsContainer,在這個問題上的代碼段一級)兩個項目內(MetaDataPanel,預覽),但自動滾屏不MetaDataPanel工作(按照代碼) 。 所以,當我把裏面的MetaDataPanel一些物品,自動滾屏不工作... PS:MetaDataPanel的內容產生dinamically添加的元素添加到面板... 任何建議?面板的面板內:自動滾動不工作

Ext.define('DP.view.DetailsContainer' ,{ 
id: 'DetailsContainer', 
extend: 'Ext.Panel', 
alias : 'widget.DetailsContainer', 
collapsible: true, 
// margins:'5 0 5 5', 
split:true, 
layout: { 
    type: 'accordion', 
    align: 'stretch', 
    pack : 'start' 
}, 

initComponent: function() { 


    Ext.apply(this, { 

     items: [{ 
      xtype: 'MetaDataPanel', 
      flex:1 
     },{ 
      xtype: 'Preview', 
      flex:2  
     }] 
    }); 

    this.callParent(arguments); 
} 
}); 


Ext.define('DP.view.MetaDataPanel' ,{ 
id: 'MetaDataPanel', 
extend: 'Ext.Panel', 
alias : 'widget.MetaDataPanel', 
title : 'MetaDati', 
layout: 'fit', 
autoScroll:true, //TODO: autoscroll not working 
initComponent: function() { 
    Ext.apply(this, { 
     items: [{ 
      xtype: 'component' , 
      html: 'Nessun File o Cartella selezionata. Selezionare un elemento per visualizzare i metadati!', 
      margin: 5, 
      style: { 
       color: '#000000' 
      } 
     }] 
    }); 
    this.callParent(arguments); 
} 
}); 

回答

7

在適合佈局的容器上指定autoScroll是沒有意義的。孩子總是適合容器的大小,它永遠不會變大,所以你永遠不會滾動。你需要內部組件的autoScroll。

3

我認爲這對手風琴小組來說並不合適。你應該做的是設置內部組件來滾動。看看你的代碼稍微改變,以反映這個想法: http://jsfiddle.net/dbrin/jmHEj/

+0

它的工作原理!但是當我添加一些元素時,它不會再工作!有什麼建議?也許一些「doLayout()」? –

+0

沒有ExtJS的4已經擺脫了做佈局。你能更具體一點你正在添加什麼元素和什麼組件? – dbrin

+0

我添加這樣的:形式= Ext.widget( '形式',{自動滾屏:真,佈局:{類型: 'VBOX',對齊: '拉伸'},邊界:假, fieldDefaults:{labelAlign:「頂」,labelWidth:100,labelStyle: '字體重量:粗體'},默認:{邊距: '0 0 10 0'} ...}); –

1

最易/懶惰是設置自動滾屏的配置作爲默認 - 所以它會被繼承:

defaults: {autoScroll: true},