mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
73 lines (72 loc) • 3.5 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _antdMobile = require("antd-mobile");
var _classnames2 = _interopRequireDefault(require("classnames"));
var _set = _interopRequireDefault(require("rc-util/es/utils/set"));
var React = _interopRequireWildcard(require("react"));
var _ut = require("ut2");
var _config = require("../../config");
require("./Form.css");
var _FormArray = _interopRequireDefault(require("./FormArray"));
var _FormContext = _interopRequireDefault(require("./FormContext"));
var _FormItem = _interopRequireDefault(require("./FormItem"));
var _getNamePaths = _interopRequireDefault(require("./utils/getNamePaths"));
var _transform = require("./utils/transform");
var _excluded = ["onFinish", "className", "justify", "visible", "layout"];
var prefixCls = "".concat(_config.prefixClass, "-form");
var BizForm = function BizForm(_ref) {
var _onFinish = _ref.onFinish,
className = _ref.className,
_ref$justify = _ref.justify,
justify = _ref$justify === void 0 ? 'start' : _ref$justify,
_ref$visible = _ref.visible,
visible = _ref$visible === void 0 ? true : _ref$visible,
_ref$layout = _ref.layout,
layout = _ref$layout === void 0 ? 'horizontal' : _ref$layout,
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
var transformRecordRef = React.useRef({});
var setFieldTransform = function setFieldTransform(name, transform, parentListNames) {
if (name && transform) {
if ((0, _ut.isArray)(parentListNames) && parentListNames.length > 0) {
var paths = (0, _getNamePaths.default)(name, parentListNames);
transformRecordRef.current = (0, _set.default)(transformRecordRef.current, paths, transform);
} else if ((0, _ut.isArray)(name)) {
transformRecordRef.current = (0, _set.default)(transformRecordRef.current, name, transform);
} else {
transformRecordRef.current[String(name)] = transform;
}
}
};
return /*#__PURE__*/React.createElement(_FormContext.default.Provider, {
value: {
setFieldTransform: setFieldTransform,
justify: justify
}
}, /*#__PURE__*/React.createElement(_antdMobile.Form, (0, _objectSpread2.default)({
className: (0, _classnames2.default)(prefixCls, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-visible"), visible), className),
layout: layout,
onFinish: function onFinish(values) {
if (typeof _onFinish !== 'function') {
return;
}
var transValues = (0, _transform.transformFormValues)(values, transformRecordRef.current);
// console.log(values, transValues);
_onFinish(transValues);
}
}, restProps)));
};
BizForm.Item = _FormItem.default;
BizForm.Array = _FormArray.default;
BizForm.Subscribe = _antdMobile.Form.Subscribe;
BizForm.Header = _antdMobile.Form.Header;
BizForm.useForm = _antdMobile.Form.useForm;
BizForm.useWatch = _antdMobile.Form.useWatch;
var _default = exports.default = BizForm;