dojo 在内容窗格内编程地添加具有其他微件的边框容器

s8vozzvw  于 2022-12-16  发布在  Dojo
关注(0)|答案(2)|浏览(119)

我试图通过编程方式在中心区域内容窗格中添加一个带有中心和右侧区域的边框容器,但是中心和右侧区域重叠--内容窗格似乎无法识别为区域。
添加边框容器和内容窗格的javascript模块:

define(["dojo/dom-construct", "dijit/registry", "dijit/layout/BorderContainer",       "dijit/layout/ContentPane", "dojo/domReady!"],
   function (domConstruct, registry, BorderContainer, ContentPane
     ) {
    return {
        Test: function () {

           ...

            //border container
            var mainContainer = new BorderContainer({
                id: 'mainContainer',
                design: 'headline',
                style: "height: 500px; width: 800px;"
            });
            //center content pane -- > gets overwritten by the right content pane
            var cp1 = new ContentPane({
                id: 'centerContainer',
                region: "center",
                content: "I'm in the center"
            });
            //right content pane
            var cp2 = new ContentPane({
                id: 'rContainer',
                region: "right",
                content: " I'm on the right",
                style: "width: 100px"
            });
            mainContainer.addChild(cp1);
            mainContainer.addChild(cp2);
            mainContainer.placeAt('Content');
            mainContainer.startup();
        }
    }
});

这是添加边框容器和其他内容窗格的中心内容窗格:

<div data-dojo-type="dijit/layout/BorderContainer" id="Main" style="width: 100%; height: 100%">
 <div data-dojo-type="dojox/layout/ContentPane" id="TOC" data-dojo-props="splitter: true, region:'leading'">
 </div>
 <div data-dojo-type="dojox/layout/ContentPane" id="Content" data-dojo-props="splitter: true, region:'center'">
 </div>
piah890a

piah890a1#

我只是补充道:

mainContainer.resize();

之后:

mainContainer.startup();

现在显示正确

myzjeezk

myzjeezk2#

从第一个代码块来看,问题似乎是在将BorderContainer附加到文档之前调用了startup()。
然而,我不理解你的示例代码(第一个代码片段和第二个代码片段之间的关系),你是试图声明性地(在标记中)还是编程性地做这件事?

相关问题