ExtJs手风琴布局折叠

ExtJs Accordion Layout Collapse

本文关键字:折叠 布局 手风琴 ExtJs      更新时间:2023-09-26

我已经创建了一个手风琴布局,并添加了一些面板,如图所示。它工作得很好。

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函数。

根据面板的布局,取消按钮应该能够做如下事情:

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();

处理程序的作用域默认为Button,除非你更改了它。