mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
40 lines • 1.9 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["name", "transform", "extendRules", "justify", "rules", "className"];
import { Form } from 'antd-mobile';
import classnames from 'classnames';
import React from 'react';
import FormArrayContext from "./FormArrayContext";
import FormContext from "./FormContext";
import { prefixClass } from "../../config";
import "./FormItem.css";
var prefixCls = "".concat(prefixClass, "-form-item");
var BizFormItem = function BizFormItem(_ref) {
var name = _ref.name,
transform = _ref.transform,
_ref$extendRules = _ref.extendRules,
extendRules = _ref$extendRules === void 0 ? [] : _ref$extendRules,
justify = _ref.justify,
_ref$rules = _ref.rules,
rules = _ref$rules === void 0 ? [] : _ref$rules,
className = _ref.className,
restProps = _objectWithoutProperties(_ref, _excluded);
var _React$useContext = React.useContext(FormContext),
setFieldTransform = _React$useContext.setFieldTransform,
parentJustify = _React$useContext.justify;
var _React$useContext2 = React.useContext(FormArrayContext),
parentListNames = _React$useContext2.parentListNames;
React.useEffect(function () {
if (name && typeof transform === 'function') {
setFieldTransform(name, transform, parentListNames);
}
}, [name, parentListNames, setFieldTransform, transform]);
return /*#__PURE__*/React.createElement(Form.Item, _extends({
name: name,
validateFirst: true,
rules: [].concat(_toConsumableArray(rules), _toConsumableArray(extendRules)),
className: classnames(prefixCls, "".concat(prefixCls, "-").concat(justify || parentJustify || 'start'), className)
}, restProps));
};
export default BizFormItem;