2017-08-11 65 views
0

如何以編程方式將孩子添加到dojox/mobile/ScrollablePane? 參考指南只有一個聲明性示例 - http://dojotoolkit.org/reference-guide/1.10/dojox/mobile/ScrollablePane.html以編程方式將孩子添加到dojox/mobile/ScrollablePane

ScrollablePane似乎沒有addChild方法。我試着在子部件上使用placeAt,並通過了ScrollablePanecontainerNode。那也行不通。

以下聲明性代碼有效。我無法通過編程來完成。具體來說,我不知道如何在ScrollablePane下添加RoundRectList

<div id="home" data-dojo-type="dojox.mobile.View" data-dojo-props='selected:true'> 
    <div data-dojo-type="dojox.mobile.Heading" data-dojo-props='label:"Title", fixed:"top"'> 
     <span data-dojo-type="dojox/mobile/ToolBarButton" 
       data-dojo-props='icon:"mblDomButtonWhiteSearch"'></span> 
     <span id="refreshButton" data-dojo-type="dojox/mobile/ToolBarButton" 
        data-dojo-props="label: 'Exit'" 
        style="float:right;"></span> 
    </div> 
    <div data-dojo-type="dojox.mobile.ScrollablePane" style="position: relative; overflow: hidden;" > 
    <h2 data-dojo-type="dojox.mobile.RoundRectCategory">Menu</h2> 
    <ul data-dojo-type="dojox.mobile.RoundRectList"> 
     <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='label:"Item 1", moveTo:"#", transition:"slide", onClick:openScreen' /> 
     <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='label:"Item 2", moveTo:"#", transition:"slide", onClick:openScreen' /> 
     <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='label:"Item 3", moveTo:"#", transition:"slide", onClick:openScreen' /> 
     <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='label:"Item 4", moveTo:"#", transition:"slide", onClick:openScreen' /> 
     <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='label:"Item 5", moveTo:"#", transition:"slide", onClick:openScreen' /> 
     <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='label:"Item 6", moveTo:"#", transition:"slide", onClick:openScreen' /> 
    </ul> 
    </div> 
</div> 

回答

0

可以嘗試像

this.ScrollablePane.domNode.appendChild(RoundRectList.domNode); 

在這之前,你需要構建RoundRectList

0

呀,似乎DojoX中EXP錯過了實現這最後的, 這樣你就可以解決此問題使用dojo/dom-construct模塊的place方法,因此在創建元素後,只需將它的domNode放置在滾動窗格的容器節點中,如下面的代碼所示。 (這裏我只影響id="scrollpane"到ScrollablePane並獲得它的使用dijit/registry模塊參考)

var rectList = new RoundRectList(); 
domConstruct.place(rectList.domNode,registry.byId("scrollpane").containerNode, 'last'); 

你可以看到一個樣本小提琴here

+0

這會不會僅建立在DOM對象或將之間的父子關係Dojo對象之間也是一樣的?我的意思是,如果我們在scrollpane dojo對象上執行getChildren(),它會將rectList作爲其中一個子對象返回嗎? – ksrini

+0

對於sur,它將返回創建的RoundRectList作爲數組的childeren中的對象子對象。 –

+0

做這個幫助還是有問題:) –

相關問題