Dojo工具箱:关闭对话框盒子

3

有没有一种方法可以在dojo对话框框中设置一个按钮,并使其关闭所在的对话框框?

将dijits放置在dijits内部不起作用,我无法相信没有办法做到这一点。

2个回答

3
当然可以将一个dijit小部件放置在另一个小部件内。在标准的Dojo版本中,甚至有一个测试用例Dijit Dialog focus & destroy,演示了如何使用位于对话框内部的按钮来关闭对话框。以下是相关部分:
var btn = new dijit.form.Button({ label: "Close" });
dlg.containerNode.appendChild(btn.domNode);

dojo.connect(btn, "onClick", function(){
    console.log("destroying, while visible"); 
    dlg.destroy();
});

1
注意,自Dojo 1.7版本起,connect模块已被dojo/on替代。因此,上述代码的等价代码如下:
require(['dojo/on', 'dijit/form/Button'], function (on, Button) {
    // etc

    var btn = new Button({ label: "Close" });
    dlg.containerNode.appendChild(btn.domNode);

    on(btn, "onClick", function(){
        console.log("destroying, while visible"); 
        dlg.destroy();
    });
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接