blessing-skin-server/resources/assets/src/scripts/modal.tsx
2020-02-05 18:48:30 +08:00

28 lines
686 B
TypeScript

import React from 'react'
import ReactDOM from 'react-dom'
import Modal, { ModalOptions, ModalResult } from '../components/Modal'
export function showModal(options: ModalOptions = {}): Promise<ModalResult> {
return new Promise((resolve, reject) => {
const container = document.createElement('div')
document.body.appendChild(container)
const handleClose = () => {
ReactDOM.unmountComponentAtNode(container)
document.body.removeChild(container)
}
ReactDOM.render(
<Modal
{...options}
show
center
onConfirm={resolve}
onDismiss={reject}
onClose={handleClose}
/>,
container,
)
})
}