Dijit AccordionContainer内でプログラムでペインをプログラム的に開くための最良の方法は何ですか
-
19-09-2019 - |
質問
私はプログラムでアコーディオンペインを開閉して閉じようとしています。これが私のコードの単純化されたバージョンです。最初のペインをfalseに選択し、2番目のペインと2番目のペインを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
定義されています。
セットアップします このコードが動作しているのを見ることができるデモページ
あなたが電話していた場合 selectChild
前 startup
, 、それは、ウィジェットが「完全な」状態ではなかったため、あなたが見ていたエラーを引き起こす可能性があります。 (申し訳ありませんが、元の回答を投稿する前に通信済みのコードを逃しました)
所属していません StackOverflow