import * as React from 'react'; import * as ReactDOM from 'react-dom'; import classNames from 'classnames'; import Icon from '../icon'; import Dialog, { ModalFuncProps } from './Modal'; import ActionButton from './ActionButton'; import { getConfirmLocale } from './locale'; export default function confirm(config: ModalFuncProps) { const props: ModalFuncProps = { iconType: 'question-circle', okType: 'primary', ...config, }; const prefixCls = props.prefixCls || 'ant-confirm'; let div = document.createElement('div'); document.body.appendChild(div); let width = props.width || 416; let style = props.style || {}; // 默认为 false,保持旧版默认行为 const maskClosable = props.maskClosable === undefined ? false : props.maskClosable; // 默认为 true,保持向下兼容 if (!('okCancel' in props)) { props.okCancel = true; } const runtimeLocale = getConfirmLocale(); props.okText = props.okText || (props.okCancel ? runtimeLocale.okText : runtimeLocale.justOkText); props.cancelText = props.cancelText || runtimeLocale.cancelText; function close(...args: any[]) { const unmountResult = ReactDOM.unmountComponentAtNode(div); if (unmountResult && div.parentNode) { div.parentNode.removeChild(div); } const triggerCancel = args && args.length && args.some(param => param && param.triggerCancel); if (props.onCancel && triggerCancel) { props.onCancel(...args); } } let body = (