有没有办法在dojo对话框中设置一个按钮并让它关闭它所在的对话框?
将dijits放入dijits中是行不通的,我无法相信没有办法做到这一点。
答案 0 :(得分: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 :(得分: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();
});
});