2011-11-07 121 views
0

我已經創建了手風琴佈局並添加了如圖所示的幾個面板。它工作正常。ExtJs手風琴佈局摺疊

var changePasswordDlg = new MaPPE.changePasswordDlg(); 
var lostPasswordDlg = new MaPPE.lostPasswordDlg(); 
var personalInfoDlg = new MaPPE.personalInfoDlg(); 
var selectLangDlg = new MaPPE.selectLangDlg(); 
var visibilityDlg = new MaPPE.visibilityDlg(); 

var config = { 
    layout: 'accordion', 
    title: '', 
    bodyStyle: 'background-color:#DFE8F6', 
    items:[ 
    changePasswordDlg, 
    lostPasswordDlg, 
    personalInfoDlg, 
    selectLangDlg, 
    visibilityDlg 
    ] 
}; 

每個對話框都是一個面板,並有一個取消按鈕。我希望每個面板的取消按鈕從摺疊式佈局摺疊當前面板。如何才能做到這一點?

我試過搜索它,發現設置expand爲false的竅門。但我找不到在哪個組件上調用expand函數。

+0

fireEvents父容器與所需的操作,hanler函數應該做你想要的擴展/崩潰 – bensiu

回答

0

根據面板的佈局,取消按鈕應該能夠做這樣的事情:

this.ownerCt.expand(); 

但是,如果你是在不斷變化的佈局變得複雜和脆弱。更好的設置面板中取消按鈕的配置屬性和按鈕的處理程序中使用它:在處理程序

var cancelButton = new Ext.Button({other: 1, config: 2, items:3, mySettingsDialog: this}); 
// where this is a reference to the encompassing dialog panel 

然後:

this.mySettingsDialog.expand(); 

爲處理器默認按鈕,除非範圍你已經改變了它。