在Dojo中,我可以';当向StackContainer中添加新内容时,无法在其中获取嵌套的ContentPane以调整其大小

在Dojo中,我可以';当向StackContainer中添加新内容时,无法在其中获取嵌套的ContentPane以调整其大小,dojo,resize,Dojo,Resize,我有一个包含多个内容窗格的StackContaner。当我尝试将内容添加到嵌套的ContentPane时(在创建和呈现内容之后),它不会调整大小,而是始终保持最初的大小。有没有一个简单的方法来解决这个问题?下面是它的布局: StackContainer -ContentPane --ContentPane (nested) -ContentPane 以下是工作示例: 单击示例中的add按钮,我想让div自动调整高度以显示新内容,而不是使用滚动条保持相同的高度。单击按钮应将另一个跨度元素添加到

我有一个包含多个内容窗格的StackContaner。当我尝试将内容添加到嵌套的ContentPane时(在创建和呈现内容之后),它不会调整大小,而是始终保持最初的大小。有没有一个简单的方法来解决这个问题?下面是它的布局:

StackContainer
-ContentPane
--ContentPane (nested)
-ContentPane
以下是工作示例:

单击示例中的add按钮,我想让div自动调整高度以显示新内容,而不是使用滚动条保持相同的高度。单击按钮应将另一个跨度元素添加到innerPane,而不是替换当前存在的元素


你知道我做错了什么吗?

你是想实现一个特定的布局,还是只是用新的内容替换现有的内容

如果您只想用新内容替换现有内容,以下是最佳选择:

 dijit.byId('innerPane').attr('content','<span>Added Content</span>');
dijit.byId('innerPane').attr('content','Added content');

请参阅更新的fiddle:

Vijay,谢谢您的建议。我不是试图替换已经存在的内容,而是尝试向其中添加内容。每次单击按钮时,都应向innerPane添加另一个span元素。然后,执行以下操作:dijit.byId('innerPane').attr('content',dijit.byId('innerPane').attr('content')+'Added content');更新的小提琴:那也不行。尝试继续按“添加”按钮,直到它换行到下一行,高度不会根据添加的内容调整大小。确定不希望内容窗格中出现滚动条吗?因此,在你的小提琴中,你希望“添加”按钮随着内容窗格中的内容不断变大而不断向下移动?如果这是您想要的,您可能需要在每次将内容添加到innercp时设置stackcontainer的高度,以使其调整大小。类似于:dojo.style(dijit.byId('stackContainer').domNode,'height',dijit.byId('innerPane').domNode.scrollHeight+100+'px');是的-像这些具有自动高度的布局变得棘手-contentpane和stackcontainer上有一些API,如resize()。您可以尝试将它们的高度设置为100%,并尝试调用resize()或_layoutChildren()方法-您可能会很幸运-如果您找到答案,请共享:-)顺便说一句-resize使用dojo.marginBox来计算高度