@cainiaofe/cn-ui-m
Version:
30 lines (29 loc) • 1.3 kB
JavaScript
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));
});
}