nuke-modal
Version:
模态框
54 lines (51 loc) • 1.27 kB
JavaScript
/** @jsx createElement */
import { isWeex, isWeb } from 'nuke-env';
export default function Confirm(message, callbackOrButtons) {
let okTitle;
let okCallback;
let cancelCallback;
let cancelTitle;
if (typeof callbackOrButtons === 'function') {
okCallback = callbackOrButtons;
} else if (callbackOrButtons && callbackOrButtons[0]) {
callbackOrButtons.forEach((btn, index) => {
const callback = btn.onPress;
const text = btn.text;
if (index === 0) {
okTitle = text;
okCallback = callback;
} else {
cancelTitle = text;
cancelCallback = callback;
}
});
}
if (isWeex) {
const Modal = require('@weex-module/modal');
okTitle = okTitle || 'OK';
cancelTitle = cancelTitle || 'Cancel';
if (Modal.confirm) {
Modal.confirm(
{
message,
okTitle,
cancelTitle,
},
(ret) => {
if (ret === okTitle) {
okCallback && okCallback(ret);
} else {
cancelCallback && cancelCallback();
}
}
);
}
} else {
const ret = confirm(message);
if (ret) {
okCallback && okCallback(ret);
} else {
cancelCallback && cancelCallback();
}
}
}