从ExtJs 4中的模态对话框返回值

从ExtJs 4中的模态对话框返回值,extjs,extjs4,Extjs,Extjs4,我正在尝试覆盖ExtJS 4中的window.confirm。覆盖应该返回true或false(与确认类似,但具有良好的UI) 无论在哪里使用confirm,我都会得到模态窗口,但它不会返回true或false,而是异步运行 我尝试了showModalDialog而不是confirm,这次我也没有得到返回值 是否可以根据用户选择返回true或false(当用户选择“确定”时,然后返回true,当单击“取消”时返回false)您不能以同步方式调用模式对话框。如果您想以某种方式将其包装成实用程序函数

我正在尝试覆盖ExtJS 4中的window.confirm。覆盖应该返回true或false(与确认类似,但具有良好的UI)

无论在哪里使用confirm,我都会得到模态窗口,但它不会返回true或false,而是异步运行

我尝试了showModalDialog而不是confirm,这次我也没有得到返回值


是否可以根据用户选择返回true或false(当用户选择“确定”时,然后返回true,当单击“取消”时返回false)

您不能以同步方式调用模式对话框。如果您想以某种方式将其包装成实用程序函数,从应用程序的不同位置调用该函数,则需要执行以下操作:

showConfirmationDialog: function(question, yesCallback) {
    //... Create you window
    //... Show window - add handler to the YES button and call yesCallback from it
},

...

otherFunction: function() {

   this.showConfirmationDialog('Do you want to delete record?', function() {
      // Delete record
   });

}

那么,复制确认(样式化)是不可能的?不可能。它仍然是事件驱动和异步的。我们可以使用showmodaldiallog()来代替确认,正如下面的链接中所提到的,再次-您需要将处理函数传递给模态对话框。我认为没有办法解决这个问题。实际上这是一项非常普通的任务。但是,如果你要使用JS,你需要适应异步执行的范例。你希望实现什么?confirm根据用户选择返回true或false,我希望类似的功能和增强的UI
showConfirmationDialog: function(question, yesCallback) {
    //... Create you window
    //... Show window - add handler to the YES button and call yesCallback from it
},

...

otherFunction: function() {

   this.showConfirmationDialog('Do you want to delete record?', function() {
      // Delete record
   });

}