Dojo Toolkit -在dijit中添加dijit(例如,将按钮添加到AccordionContainer的ContentPane中)

wdebmtf2  于 2023-02-14  发布在  Dojo
关注(0)|答案(1)|浏览(358)

我正在学习Dojo Toolkit,我正在努力将dijit添加到dijit中。有类似的帖子,但使用了DIV。我只想通过编程将按钮或其他任何东西插入到ContentPane中,如下所示:

我有一个脚本(与所需项目插入按钮):

require(["dijit/layout/AccordionContainer", "dijit/layout/ContentPane", "dojo/domReady!",  "dijit/form/Button", "dijit/_WidgetBase"],
        function(AccordionContainer, ContentPane, Button){
    var aContainer = new AccordionContainer({style:"height: 300px"}, "markup");    
    
    var aChild1 = new  ContentPane({
        title: "Date selectors",
        content: "Test"
    });       
   
    
    var aChild2 = new  ContentPane({
        title:"Group 2",
        content:"Test"
    });

    var aChild3 = new  ContentPane({
        title:"Group 3",
        content:"Test"
    });
    
            
    aContainer.addChild(aChild1);  
    aContainer.addChild(aChild2);
    aContainer.addChild(aChild3);      
    aContainer.startup();    
    
});

我的DIV很简单:

<div id="markup" style="width: 250px; height: 300px">

这个ContentPane应该作为左工具栏与滚动窗格工作。在第一个我想添加日期选择器或按钮或其他任何东西。以上代码工作,直到我尝试添加subChild。我尝试创建变量与按钮,使其成为一个内容窗格的孩子,如:

var btn as new Button([...]);

并将其放置在此处:

aContainer.addChild(aChild1);
aChild1.addChild(btn);
aContainer.addChild(aChild2);
aContainer.addChild(aChild3);      
aContainer.startup();

但是它不起作用。在这种情况下我怎么建立我的布局呢?提前感谢你的帮助。

5kgi1eie

5kgi1eie1#

问题解决了。我应用了声明式而不是程序式的创建:在脚本中,我只添加了这一行:

require(["dojo/parser", "dijit/layout/ContentPane"]);

然后我写了一些div像:
一些文本
我发现了一个提示(在演示代码内):
内容窗格没有子窗格,所以只需使用dojo的内置after advice dojo.connect(dijit. layout. ContentPane. prototype,"resize",function(mb)...所以我所要做的就是:

<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='selected:true, title:"Calendar"'>
                <!-- calendar widget pane -->
                <input id="calendar1" data-dojo-type="dijit.Calendar">
</div>

如果您想了解如何将任何布局项放在一个位置,请参见Dojo Theme Tester(查看源代码):https://download.dojotoolkit.org/release-1.7.0/dojo-release-1.7.0/dijit/themes/themeTester.html?theme=tundra
你会发现每一个片段都描述得很好。对我来说,它比文档更有用。
我希望通过解决我的问题,这个解决方案会对某人有所帮助。

相关问题