请告诉我编程打开Dijit的AccordionContainer内窗格的最佳方式(Whats the

2019-07-30 21:44发布

我想编程启闭手风琴窗格。 这里是我的代码的简化版本。 即使我设置第一个窗格的选择设置为false,和第二窗格的选择真的,当它加载在浏览器上(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;

Answer 1:

你可以像下面这样做:

accordionContainer.selectChild( accordPane2 );

假设你正在使用道场1.3。

dijit.layout.AccordionContainer是的一个子类dijit.layout.StackContainer ,这已selectChild定义。

我成立了一个演示页面,在这里你可以看到此代码的

如果你打电话selectChild之前startup ,这可能导致由于部件在“完成”状态是不是您所看到的错误。 (对不起,错过了commneted出来的代码之前我张贴原来的答复)



文章来源: Whats the best way to programatically open a pane inside Dijit AccordionContainer