Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可能的错误-当将小部件作为子部件添加时,dijit/layout/ContentPane不会调整大小_Javascript_Dojo_Dijit.form - Fatal编程技术网

Javascript 可能的错误-当将小部件作为子部件添加时,dijit/layout/ContentPane不会调整大小

Javascript 可能的错误-当将小部件作为子部件添加时,dijit/layout/ContentPane不会调整大小,javascript,dojo,dijit.form,Javascript,Dojo,Dijit.form,小部件dijit/layout/ContentPane在作为子部件添加小部件时无法正确调整大小 复制问题的步骤: 在打开测试用例 点击10次按钮“点击我多次!” 问题: dijit/layout/ContentPane在将小部件作为子部件添加时不会调整大小。 插入的内容不完全可见 我需要增加dijit/layout/ContentPane的维度,以便容纳新添加的小部件,以便所有内部小部件都可见 我认为这是dijit小部件中的一个bug。我想知道一个解决方法(如果有的话) 注: 我已经向doj

小部件
dijit/layout/ContentPane
在作为子部件添加小部件时无法正确调整大小

复制问题的步骤:

  • 在打开测试用例
  • 点击10次按钮“点击我多次!”
  • 问题:

    • dijit/layout/ContentPane
      在将小部件作为子部件添加时不会调整大小。 插入的内容不完全可见
    我需要增加
    dijit/layout/ContentPane
    的维度,以便容纳新添加的小部件,以便所有内部小部件都可见

    我认为这是dijit小部件中的一个bug。我想知道一个解决方法(如果有的话)

    注: 我已经向dojo报告了bug


    我认为解决这个问题的干净方法就是用一个
    BorderContainer
    包围你的
    contentpane
    ,resize()将自动触发,否则我认为你应该重新计算所有内容并调整所有封闭小部件的大小(不使用BorderContainer)

    下面是一个工作片段:(我为内容窗格指定了区域中心以防止出错)

    require([“dijit/layout/BorderContainer”,“dijit/layout/ContentPane”,“dijit/TitlePane”,“dijit/form/Button”,“dojo/domReady!”),函数(BorderContainer,ContentPane,TitlePane,Button){
    this.u borderContainer=新的borderContainer({},“borderContainer”);
    此.\u contentPanel=新建ContentPane({
    地区:“中心”,
    样式:“最小高度:125px;背景色:红色
    }“内容小组”);
    这个。_titlePanel=新的TitlePane({
    标题:“我是一个铁皮人”,
    内容:“让我崩溃!”
    }“标题板”);
    此按钮=新按钮({
    标签:“多次单击我!”,
    onClick:function(){
    此._titlePanel.addChild(新建按钮({
    标签:“测试”,
    样式:“宽度:200px”
    }));
    }.绑定(此)
    }“按钮”);
    this._borderContainer.addChild(this._titlePanel);
    this.\u contentPanel.addChild(this.\u titlePanel);
    此._标题面板.addChild(此._按钮);
    这是。_contentPanel.startup();
    });
    
    
    
    我想您应该将ContentPane的
    doLayout
    标志设置为false。然后它不会在嵌套的ContentPane上设置大小。另外,删除硬编码的125px高度。

    您可以通过CSS进行简单的解决:

    #titlePanel {
      height: auto !important;
    }
    

    请参见设置属性
    doLayout
    为false修复此问题,感谢您的建议。
    #titlePanel {
      height: auto !important;
    }