Dojo tabcontainer没有显示

时间:2014-01-24 08:49:15

标签: javascript dojo

在获取dojo以显示包含tabContainer和一系列选项卡的borderContainer时遇到一些麻烦,所有这些都包含在对话框中。这一切都是以编程方式完成的,并且已经调用了startup()事件。

显示并显示选项卡,但非常不寻常。刷新对话框本身(在打开和关闭控制台时发现)一切权限本身。我试图通过调用它作为启动的一部分强制调整大小() - 这没有用。我一直试图让这个工作正常。这是唯一的琐事!由于窗口小部件未正确显示而手动刷新对话框并不是完美的UI设计。 borderContainer具有height和width属性。

有人可以提出一些尝试方法吗?

http://i.stack.imgur.com/YXtkq.png

上面的屏幕截图(抱歉,我还没有10个代表)! 我试过使用'doLayout:false',但是没有用。我将'style'设置为height:360px和width:575px,它们都在包含小部件的边界内。

1 个答案:

答案 0 :(得分:1)

我发现只是在父窗口小部件上执行startup()是不够的。因为它是在隐藏的对话框小部件中实例化的,所以需要从那里实例化。

按钮的onclick事件是:

    //custom widget - contrary to its name, this is the content!
var invoiceDialogWidget = new InvoiceDialogWidget(dialogValues);

var dia = new DijitDialog({
id: "invoiceDialogWidget",
content: invoiceDialogWidget,
title: "Invoice Detail"
onHide: function(){
    this.destroyRecursive();
}
});
dia.show();

//magic line
invoiceDialogWidget.invoiceDialogContentNode.startup();

我发现通过调用我在上面的代码片段中的startup() - 自定义窗口小部件被正确实例化并匹配对话框的样式(可见)。在我从自定义小部件中调用它之前,尚未完全实例化!

结果是在一个小部件上调用startup(),该小部件默认为其父母样式 - 当时看不见。