lxl
lxl
  • 发布:2018-06-20 16:13
  • 更新:2018-06-20 16:13
  • 阅读:3342

【报Bug】mui的confirm坑死人了

分类:MUI
    var createConfirm = function(message, title, btnArray, callback, type) {  
        if (typeof message === 'undefined') {  
            return;  
        } else {  
            if (typeof title === 'function') {  
                callback = title;  
                type = btnArray;  
                title = null;  
                btnArray = null;  
            } else if (typeof btnArray === 'function') {  
                type = callback;  
                callback = btnArray;  
                btnArray = null;  
            }  
        }  
        if (!$.os.plus || type === 'div') {  
            return createPopup(createInner(message, title || '提示') + createButtons(btnArray || ['取消', '确认']), callback);  
        }  
        return plus.nativeUI.confirm(message, callback, title, btnArray || ['取消', '确认']);  
    };

如上的mui源码,如果你不传title的话,取消和确认对应的index就会和传title时相反,最终导致点击取消执行了确认。举例,如下的代码:

mui.confirm('确定删除吗?', function (e) {  
    console.log(e)  
});

理应是点确定是index为1,取消是0(pc浏览器里是正确的),然而由于源码的bug导致没有title,plus直接没有收到最后默认的['取消', '确认'],而是使用了['确定', '取消'],产生完全相反的效果。mui居然和plus自相矛盾

2018-06-20 16:13 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复