我希望在ExtJs-5中同步执行Ext.Msg.show()函数。
onButtonClick : function() {
1. some code...
2. Ext.Msg.show({
title : 'Confirm Please',
msg : 'Please be informed that record will only save when click ok.',
buttons : Ext.Msg.OKCANCEL,
icon : Ext.Msg.QUESTION,
fn : function(btn) {
if ('cancel' === btn) {
return;
}
}
});
3. other message box ...
4. other code ...
}上面的函数同步执行每个步骤1、2、3和4,但在步骤2中不等待用户交互。它直接移动到步骤3,然后移到步骤4。但是,我只想在用户单击“确定其他”终止下面的步骤时执行步骤3。
有人能检查并让我知道可能的代码,我需要添加使之成为可能?谢谢
发布于 2022-04-04 11:13:48
有一种更简单和集成的方法来完成确认窗口:Ext.Msg.confirm。
请记住,与纯javascript相比,ExtJ中的“确认”是异步的。因此,步骤3/4应该移到btnId==yes条件块:
下面是一个例子:
Ext.Msg.confirm("Confirm", "Are you sure?", function(btnId){
if(btnId == "yes"){
// User clicked YES
// Move here step 3/4
}
else {
// User clicked NO
}
});奖励提示:没有什么能阻止您在确认中嵌套确认,如下所示:
// Confirm #1
Ext.Msg.confirm("Confirm", "Are you sure?", function(btnId){
if(btnId == "yes"){
// User clicked YES
// Confirm #2
Ext.Msg.confirm("Confirm", "Are you REAAALLY sure?", function(btnId){
if(btnId == "yes"){
// User clicked YES
}
else {
// User clicked NO
}
});
}
else {
// User clicked NO
}
});https://stackoverflow.com/questions/71702919
复制相似问题