2013-10-06 24 views
0

爲了獲得用戶點擊的孩子(的手風琴容器)的細節,我訂閱了這個主題 - 「-selectChild」。工作正常,但後來我想保留在一個手風琴容器內默認摺疊的所有內容窗格,我在互聯網上搜索,找不到它,但通過在手風琴容器上調用selectChild(0)來嘗試它。它的工作,但加入這一行後(selectChild(0)),我得到的錯誤時,在任何窗格Dojo AccordianContainer selectChild

錯誤用戶點擊,我得到:

遺漏的類型錯誤:未定義

無法讀取屬性「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); 

回答

0

你需要傳遞一個子窗格小部件selectChild而不是數量。你正在做一個竅門來實現「沒有選中窗格」,但是accordionContainer會保留當前選中的窗格,這樣下次它可以在選擇另一個窗格時摺疊該窗格。當然,對於當前選定的窗格「0」,它實際上是一個未定義的窗格,沒有containerNode屬性。

你不能垮了AccordionContainer所有窗格,你可以嘗試使用TitleGroup代替,

看到dojox.widget.TitleGroup

+0

謝謝,現在我明白了。 –