2017-08-11 47 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

做这个帮助还是有问题:) –

相关问题