@51yzone/pc-components
Version:
An enterprise-class UI design language and React-based implementation
90 lines (76 loc) • 3.11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
require("antd/lib/button/style");
var _button = _interopRequireDefault(require("antd/lib/button"));
require("antd/lib/modal/style");
var _modal = _interopRequireDefault(require("antd/lib/modal"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _antd = require("@formily/antd");
var _classnames = _interopRequireDefault(require("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 = (0, _extends2["default"])((0, _extends2["default"])({
visible: visible,
title: title,
destroyOnClose: true,
maskClosable: false,
bodyStyle: {
paddingBottom: footerJSX ? 24 : 0
},
footer: null,
onCancel: onCancel
}, modalProps), {
wrapClassName: (0, _classnames["default"])(className, modalProps === null || modalProps === void 0 ? void 0 : modalProps.wrapClassName, "".concat(prefixCls, "-wrapper"))
}); // 表单入参
var newFormProps = (0, _extends2["default"])({
initialValues: initialValues,
labelCol: {
span: 5
},
wrapperCol: {
span: 18
},
onSubmit: onSubmit
}, formProps);
return /*#__PURE__*/_react["default"].createElement(_modal["default"], (0, _extends2["default"])({}, newModalProps), /*#__PURE__*/_react["default"].createElement(_antd.Form, (0, _extends2["default"])({}, newFormProps), children, footerButtons ? /*#__PURE__*/_react["default"].createElement(_antd.FormButtonGroup, {
className: "".concat(prefixCls, "__footer-buttons")
}, footerButtons) : /*#__PURE__*/_react["default"].createElement(_antd.FormButtonGroup, {
className: "".concat(prefixCls, "__footer-buttons")
}, /*#__PURE__*/_react["default"].createElement(_button["default"], {
onClick: onCancel
}, '取消' || (modalProps === null || modalProps === void 0 ? void 0 : modalProps.cancelText)), /*#__PURE__*/_react["default"].createElement(_antd.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: ''
};
var _default = ModalForm;
exports["default"] = _default;