@wufengteam/wform
Version:
@wufengteam/wform
46 lines • 1.85 kB
JavaScript
/* eslint-disable no-console */
import React from 'react';
import FormFields, { getFieldsProps } from '@lingxiteam/pcfactory/lib/utils/formUtils/FormFields';
import { useForm } from '@lingxiteam/pcfactory/lib/utils/formUtils/FormContext';
import useCommonImperativeHandle from '@lingxiteam/pcfactory/lib/utils/hooks/useCommonImperativeHandle';
import useFieldAttr from '../../hooks/useFieldAttr';
import "./index.css";
var FieldItemPc = function FieldItemPc(props) {
// console.log('FieldItemPc', props);
var fieldAttr = props.fieldAttr,
children = props.children;
var _useCommonImperativeH = useCommonImperativeHandle(props.forwardedRef, props),
disabled = _useCommonImperativeH.disabled,
required = _useCommonImperativeH.required,
readOnly = _useCommonImperativeH.readOnly,
formFieldsRef = _useCommonImperativeH.formFieldsRef,
finalRules = _useCommonImperativeH.finalRules;
var isRequired = required;
if (Array.isArray(finalRules) && finalRules.length > 0) {
finalRules.forEach(function (item) {
if (item === null || item === void 0 ? void 0 : item.required) {
isRequired = true;
}
});
}
var _useFieldAttr = useFieldAttr({
fieldAttr: fieldAttr || []
}),
hidden = _useFieldAttr.hidden;
var formcontext = useForm();
var _ref = formcontext || {},
form = _ref.form;
return /*#__PURE__*/React.createElement(React.Fragment, null, hidden ? null : ( /*#__PURE__*/React.createElement(FormFields, Object.assign({}, getFieldsProps(props), {
rules: finalRules,
ref: formFieldsRef,
disabled: disabled,
required: isRequired,
readOnly: readOnly,
defaultValue: props.defaultValue,
value: props.value,
trigger: props.trigger || 'onChange'
}), /*#__PURE__*/React.cloneElement(children, {
form: form
}))));
};
export default FieldItemPc;