如果在APP的保存按钮前事件中做个业务判断,但是判断没有走完,就执行了保存方法,以下代码是这个问题的处理方式

具体代码

formSaveBtn: {
        beforeclick: function(btn) {
            // 如果有dofnStatus的值 说明下方异步操作已经判断成功了,直接跳出执行通过下一步
            if(btn.dofnStatus) {
                return true;
            }
            // 默认设置dofnStatus 为false,返回false停止后续代码操作,等异步调用完成根据条件更改判断属性
            btn.dofnStatus = false; 
            JE.ajax({
                url: 'xxxx',
                params: 'xxx',
                callback: function(success) {
                    // 如果判断通过
                    if(success) {
                        btn.dofnStatus = true;
                        // 判断通过后会重新执行一下当前按钮的点击事件:因为btn.dofnStatus已经为true
                        // 所以这个beforeclick会直接返回true。
                        btn.handleClick(btn);
                    }
                }
            })
            // 默认就阻塞后续事件
            return false;
        }
    },
最后编辑: 呼丽华  文档更新时间: 2024-08-21 10:58   作者:呼丽华