ExtJs手风琴布局崩溃

时间:2011-11-07 21:06:25

标签: javascript extjs accordion

我已经创建了一个手风琴布局并添加了几个面板,如图所示。它工作正常。

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函数的组件。

1 个答案:

答案 0 :(得分: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();

除非您更改了处理程序,否则处理程序的范围默认为Button。