UNPKG

@cainiaofe/cn-ui-m

Version:
30 lines (29 loc) 1.3 kB
import { __assign } from "tslib"; import React, { useEffect, useState } from 'react'; import { CnPicker } from "./picker"; import { renderToBody } from "./render-to-body"; export function prompt(props) { return new Promise(function (resolve) { var Wrapper = function () { var _a = useState(false), visible = _a[0], setVisible = _a[1]; useEffect(function () { setVisible(true); }, []); return (React.createElement(CnPicker, __assign({}, props, { visible: visible, onConfirm: function (val, extend) { var _a; (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, extend); resolve(val); }, onClose: function () { var _a; (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props); setVisible(false); resolve(null); }, afterClose: function () { var _a; (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props); unmount(); } }))); }; var unmount = renderToBody(React.createElement(Wrapper, null)); }); }