Dijit AccordionContainer内でプログラムでペインをプログラム的に開くための最良の方法は何ですか

StackOverflow https://stackoverflow.com/questions/1190157

  •  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 定義されています。

セットアップします このコードが動作しているのを見ることができるデモページ

あなたが電話していた場合 selectChildstartup, 、それは、ウィジェットが「完全な」状態ではなかったため、あなたが見ていたエラーを引き起こす可能性があります。 (申し訳ありませんが、元の回答を投稿する前に通信済みのコードを逃しました)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top