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
在作为子部件添加小部件时无法正确调整大小
复制问题的步骤:
在将小部件作为子部件添加时不会调整大小。 插入的内容不完全可见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;
}