@51yzone/pc-components
Version:
An enterprise-class UI design language and React-based implementation
76 lines (69 loc) • 2.54 kB
JavaScript
import "antd/es/button/style";
import _Button from "antd/es/button";
import "antd/es/modal/style";
import _Modal from "antd/es/modal";
import _extends from "@babel/runtime/helpers/extends";
/**
* 关键字:弹框表单
* 新增人:徐友万
* 完善中
*/
import React from 'react';
import { Form, FormButtonGroup, Submit } from '@formily/antd';
import classnames from 'classnames';
var ModalForm = function ModalForm(props) {
var visible = props.visible,
title = props.title,
initialValues = props.initialValues,
footerButtons = props.footerButtons,
modalProps = props.modalProps,
formProps = props.formProps,
onSubmit = props.onSubmit,
onCancel = props.onCancel,
renderFooter = props.renderFooter,
children = props.children,
prefixCls = props.prefixCls,
className = props.className;
var footerJSX = typeof renderFooter === 'function' ? renderFooter() : renderFooter; // 弹框入参
var newModalProps = _extends(_extends({
visible: visible,
title: title,
destroyOnClose: true,
maskClosable: false,
bodyStyle: {
paddingBottom: footerJSX ? 24 : 0
},
footer: null,
onCancel: onCancel
}, modalProps), {
wrapClassName: classnames(className, modalProps === null || modalProps === void 0 ? void 0 : modalProps.wrapClassName, "".concat(prefixCls, "-wrapper"))
}); // 表单入参
var newFormProps = _extends({
initialValues: initialValues,
labelCol: {
span: 5
},
wrapperCol: {
span: 18
},
onSubmit: onSubmit
}, formProps);
return /*#__PURE__*/React.createElement(_Modal, _extends({}, newModalProps), /*#__PURE__*/React.createElement(Form, _extends({}, newFormProps), children, footerButtons ? /*#__PURE__*/React.createElement(FormButtonGroup, {
className: "".concat(prefixCls, "__footer-buttons")
}, footerButtons) : /*#__PURE__*/React.createElement(FormButtonGroup, {
className: "".concat(prefixCls, "__footer-buttons")
}, /*#__PURE__*/React.createElement(_Button, {
onClick: onCancel
}, '取消' || (modalProps === null || modalProps === void 0 ? void 0 : modalProps.cancelText)), /*#__PURE__*/React.createElement(Submit, null, '确定' || (modalProps === null || modalProps === void 0 ? void 0 : modalProps.okText)))), footerJSX);
};
ModalForm.defaultProps = {
visible: false,
title: '',
initialValues: {},
footerButtons: null,
modalProps: {},
formProps: {},
prefixCls: 'yz-modal-form',
className: ''
};
export default ModalForm;