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自相矛盾
0 个回复