如何使 titlePane 的高度动态化,以便在页面加载后将内容添加到 Pane 中,TitlePane 将展开?
最佳答案
看起来丰富的内容编辑器是一个异步加载的 iframe 会混淆初始布局。
正如@missingno 提到的,调整大小功能是您想要查看的。
如果您在 your page 上执行以下函数,您可以看到它确实正确调整了所有内容的大小:
//iterate through all widgets
dijit.registry.forEach(function(widget){
//if widget has a resize function, call it
if(widget.resize){
widget.resize()
}
});
上述函数遍历所有小部件并调整所有小部件的大小。这可能是不必要的。我认为您只需要在 dijit.Editor 初始化后在每个与布局相关的小部件上调用它。
在实际页面上执行此操作的最简单方法可能是将其添加到您的 addOnLoad 函数中。例如:
dojo.addOnLoad(function() {
dijit.byId("ContentLetterTemplate").set("href","index2.html");
//perform resize on widgets after they are created and parsed.
dijit.registry.forEach(function(widget){
//if widget has a resize function, call it
if(widget.resize){
widget.resize()
}
});
});
编辑:该问题的另一个可能解决方法是将内容 Pane 上的
doLayout
属性设置为 false。默认情况下,所有 ContentPane(包括 TitlePane 和 dojox.layout.ContentPane 等子类)都将此属性设置为 true。这意味着 ContentPane 的大小是预先确定的和静态的。通过将 doLayout
属性设置为 false,ContentPanes 的大小将随着内容变大或变小而有机地增长。关于道场/Dijit TitlePane,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7447507/