有没有办法在dojo对话框中设置一个按钮并让它关闭它所在的对话框?
将 dijits 放入 dijits 是行不通的,我不敢相信没有办法做到这一点。
当然,您可以将 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();
});
请注意,从 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();
});
});