import React, { Component } from "react"; import { render } from 'react-dom'; import './modal.less'; import { Button, Icon, Modal } from "antd"; function renderModal(modalInfo) { class ModalComponent extends Component { constructor(props, context) { super(props, context); this.state = { ...modalInfo }; } render() { return ( {(() => { switch(modalInfo.icon) { case 'info': return ; case 'success': return ; case 'warning': return ; case 'error': return ; default: // return ; return ''; } })()} {modalInfo.title} {modalInfo.message} {/* */} {modalInfo.footer instanceof Array && modalInfo.footer.map((btn, index) => { return { if(typeof btn.onPress == 'function') { btn.onPress(); } this.setState({ visible: false }); } }>{btn.text} })} ); } } let div = document.createElement('div'); render(, div); } export default function ( title = '提示', message = '', footer = [{ text: '确定' }], icon= 'warning', maskClosable = false ) { const modalInfo = { visible: true, maskClosable, title, message, footer, icon }; renderModal(modalInfo); }