如果用户同意警告,我需要validate
函数返回true
,但程序停止并且不对是或否按钮做出反应。有任何想法吗?
附:当我删除Ext.Msg.alert时,一切正常......
validate: function () {
var isValid = this.callParent();
if (isValid) {
Ext.Msg.alert({
title :'',
msg : '.....',
buttons : Ext.Msg.YESNO,
icon: Ext.MessageBox.QUESTION,
fn : function(btn){
if (btn == 'yes'){
return true;
}
}
});
}
}
答案 0 :(得分:2)
你不能这样做。消息在ExtJs中是异步的。
将调用 alert
并继续执行。当用户按下按钮时,将在不同的执行队列中调用回调函数。
您需要重新设计逻辑,因此您不依赖于验证返回值,而是具有几个函数 - 一个将在验证成功时调用,另一个在失败时调用。