2011-11-07 3 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 to parent 필요한 조치가있는 컨테이너, 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(); 

버튼 않는 한에 핸들러 기본값의 범위 너는 그것을 바꿨다.

관련 문제