Dijit AccordionContainer 내부의 창을 프로그래밍 방식으로 열 수있는 가장 좋은 방법은 무엇입니까?
-
19-09-2019 - |
문제
나는 열린 아코디언 패널을 프로그래밍 방식으로 시도하고 있습니다. 내 코드의 단순화 된 버전은 다음과 같습니다. 첫 번째 창을 False 및 Second Pane을 true로 선택한 첫 번째 창을 설정했지만 브라우저 (FF3)에로드 할 때 첫 번째 창만 열립니다.
var accordionContainer = new dijit.layout.AccordionContainer().placeAt("test");
var accordPane = new dijit.layout.ContentPane({"title": "test", "content":"hello"});
var accordPane2 = new dijit.layout.ContentPane({"title": "test1", "content":"hello1"});
accordionContainer.addChild(accordPane);
accordionContainer.addChild(accordPane2, 1);
accordPane.startup();
accordPane2.startup();
//accordionContainer.selectChild(accordPane2);
accordionContainer.startup();
accordPane.selected = false;
accordPane2.selected = true;
해결책
당신은 다음과 같이 할 수 있습니다 :
accordionContainer.selectChild( accordPane2 );
dojo 1.3을 사용하고 있다고 가정합니다.
dijit.layout.AccordionContainer
서브 클래스입니다 dijit.layout.StackContainer
, 가지고 있는데 selectChild
한정된.
나는 a를 설정했다 이 코드가 작동하는 데모 페이지
당신이 전화했다면 selectChild
~ 전에 startup
, 위젯이 '완전한'상태가 아니기 때문에 보았던 오류가 발생할 수 있습니다. (죄송합니다. 원본 답변을 게시하기 전에 Commneted Out Code를 놓쳤습니다)
제휴하지 않습니다 StackOverflow