Dojo一致性容器selectChild

Dojo一致性容器selectChild,dojo,dijit.layout,dojo-1.8,Dojo,Dijit.layout,Dojo 1.8,为了获得用户正在点击的child(accordian容器)的详细信息,我订阅了这个主题-“-selectChild”。工作正常,但后来我想让所有内容窗格默认折叠在一个accorbian容器中,我在互联网上搜索,找不到它,但通过调用accorbian容器上的selectChild(0)进行了尝试。它起作用了,但在添加这一行(selectChild(0))之后,当用户单击任何窗格时,我都会出错 我得到的错误: 未捕获的TypeError:无法读取未定义的属性“containerNode” 代码(非完

为了获得用户正在点击的child(accordian容器)的详细信息,我订阅了这个主题-“-selectChild”。工作正常,但后来我想让所有内容窗格默认折叠在一个accorbian容器中,我在互联网上搜索,找不到它,但通过调用accorbian容器上的selectChild(0)进行了尝试。它起作用了,但在添加这一行(selectChild(0))之后,当用户单击任何窗格时,我都会出错

我得到的错误:

未捕获的TypeError:无法读取未定义的属性“containerNode”

代码(非完整代码)

topic.subscribe(“accordianContainerId selectChild”,函数(窗格){
console.log('用户选择的窗格:'+窗格)
});
aContainer=新的AccordionContainer({id:'accordianContainerId','isLayoutContainer:true,样式:“高度:100%”);
aContainer.addChild(新内容窗格({
id:'测试',
标题:"测试",,
内容:“测试”,发布:正确
}));
a容器放置地址(“标记”);
aContainer.startup();
a容器。选择子对象(0);

您需要传递一个子窗格小部件来选择child而不是数字。您正在使用一种技巧来实现“未选择任何窗格”,但accordionContainer将保留您当前选择的窗格,以便下次在您选择其他窗格时可以折叠此窗格。当然,对于当前选定的窗格“0”,它实际上是一个未定义的窗格,没有containerNode属性

不能折叠AccordionContainer的所有窗格,可以尝试使用TitleGroup


谢谢,现在我明白了。
topic.subscribe("accordianContainerId-selectChild", function(pane){
console.log('user selected pane:'+pane)
});


aContainer = new AccordionContainer({id: 'accordianContainerId', "isLayoutContainer": true,style:"height: 100%"});
aContainer.addChild(new ContentPane({ 
            id: 'test',
            title: 'test',
            content: "<div>test</div>", doLayout: true
            }));
aContainer.placeAt("markup");
aContainer.startup();
aContainer.selectChild(0);