0

为了获取用户单击的子(手风琴容器)的详细信息,我订阅了这个主题 - “-selectChild”。工作正常,但后来我想将所有内容窗格默认折叠在手风琴容器内,我在互联网上搜索,找不到它,但通过在手风琴容器上调用 selectChild(0) 进行了尝试。它有效,但是在添加此行(selectChild(0))后,当用户单击任何窗格时出现错误

我得到的错误:

未捕获的类型错误:无法读取未定义的属性“containerNode”

代码(不完整的代码)

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);
4

1 回答 1

0

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

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

请参阅dojox.widget.TitleGroup

于 2013-10-06T17:03:38.450 回答