MessageBox Ext JS 4中的回调函数

时间:2014-09-12 13:31:10

标签: javascript extjs4

如果用户同意警告,我需要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;
                }
            }
        });
    }

}

1 个答案:

答案 0 :(得分:2)

你不能这样做。消息在ExtJs中是异步的。

将调用

alert并继续执行。当用户按下按钮时,将在不同的执行队列中调用回调函数。

您需要重新设计逻辑,因此您不依赖于验证返回值,而是具有几个函数 - 一个将在验证成功时调用,另一个在失败时调用。