UNPKG

nuke-modal

Version:

模态框

52 lines (49 loc) 1.21 kB
/** @jsx createElement */ import { isWeex } from 'nuke-env'; export default function Prompt(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) { okTitle = okTitle || 'OK'; cancelTitle = cancelTitle || 'Cancel'; const modal = require('@weex-module/modal'); modal.prompt( { message, okTitle, cancelTitle, }, (ret) => { if (ret.result === okTitle) { okCallback && okCallback(ret); } else { cancelCallback && cancelCallback(); } } ); } else { const ret = prompt(message); if (ret) { okCallback && okCallback(ret); } else { cancelCallback && cancelCallback(); } } }