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();
});
});