import React, { Component } from 'react'; import './index.less'; import { Modal, Icon } from 'antd'; import Button from '../Button'; export default class extends Component { render() { const { show, className, children, width, title, btnAlign = 'right', cancelText = '取消', confirmText = '确定', onCancel, onConfirm, onClose, close = true, maskClosable = false, body = true, btnType, center, height, getContainer, } = this.props; return ( <Modal wrapClassName={`g-modal ${className || ''}`} visible={show} closable={false} getContainer={getContainer} maskClosable={maskClosable} footer={false} width={width} onCancel={onClose} centered={center} > <div className="g-modal-wrapper"> {close && onClose && <Icon className="close" type="close-circle" theme="filled" onClick={() => onClose()} />} <div className="g-modal-title">{title}</div> {body ? ( <div className="g-modal-body" style={{ maxHeight: height }}> {children} </div> ) : ( children )} <div className={`g-modal-btns ${btnAlign}`}> {onCancel && ( <Button size="lager" theme={btnType === 'link' ? 'link t-6' : 'link'} onClick={() => onCancel()}> {cancelText} </Button> )} {onConfirm && ( <Button size="lager" theme={btnType === 'link' ? 'link' : 'theme'} radius onClick={() => onConfirm()}> {confirmText} </Button> )} </div> </div> </Modal> ); } }