UNPKG

@51yzone/pc-components

Version:

An enterprise-class UI design language and React-based implementation

76 lines (69 loc) 2.54 kB
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;