Files
copilot-toolbox-sdfdsfds/node_modules/@ant-design/pro-form/es/components/Field/index.js
2026-01-16 01:51:36 +00:00

99 lines
5.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["fieldProps", "children", "labelCol", "label", "autoFocus", "isDefaultDom", "render", "proFieldProps", "renderFormItem", "valueType", "initialValue", "onChange", "valueEnum", "params", "name", "dependenciesValues", "cacheForSwr", "valuePropName"];
import ProField from '@ant-design/pro-field';
import { isDeepEqualReact, runFunction, useRefFunction } from '@ant-design/pro-utils';
import React, { memo, useContext, useMemo } from 'react';
import { EditOrReadOnlyContext } from "../../BaseForm/EditOrReadOnlyContext";
import { createField } from "../../BaseForm/createField";
import { Fragment as _Fragment } from "react/jsx-runtime";
import { jsx as _jsx } from "react/jsx-runtime";
var BaseProFormField = function BaseProFormField(props) {
var fieldProps = props.fieldProps,
children = props.children,
labelCol = props.labelCol,
label = props.label,
autoFocus = props.autoFocus,
isDefaultDom = props.isDefaultDom,
render = props.render,
proFieldProps = props.proFieldProps,
renderFormItem = props.renderFormItem,
valueType = props.valueType,
initialValue = props.initialValue,
_onChange = props.onChange,
valueEnum = props.valueEnum,
params = props.params,
name = props.name,
dependenciesValues = props.dependenciesValues,
_props$cacheForSwr = props.cacheForSwr,
cacheForSwr = _props$cacheForSwr === void 0 ? false : _props$cacheForSwr,
_props$valuePropName = props.valuePropName,
valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
restProps = _objectWithoutProperties(props, _excluded);
var modeContext = useContext(EditOrReadOnlyContext);
var propsParams = useMemo(function () {
// 使用dependencies时 dependenciesValues是有值的
// 此时如果存在request注入dependenciesValues
return dependenciesValues && restProps.request ? _objectSpread(_objectSpread({}, params), dependenciesValues || {}) : params;
}, [dependenciesValues, params, restProps.request]);
var memoUnChange = useRefFunction(function () {
if (fieldProps !== null && fieldProps !== void 0 && fieldProps.onChange) {
var _fieldProps$onChange;
for (var _len = arguments.length, restParams = new Array(_len), _key = 0; _key < _len; _key++) {
restParams[_key] = arguments[_key];
}
fieldProps === null || fieldProps === void 0 || (_fieldProps$onChange = fieldProps.onChange) === null || _fieldProps$onChange === void 0 || _fieldProps$onChange.call.apply(_fieldProps$onChange, [fieldProps].concat(restParams));
return;
}
});
var memoFieldProps = useMemo(function () {
return _objectSpread(_objectSpread({
autoFocus: autoFocus
}, fieldProps), {}, {
onChange: memoUnChange
});
}, [autoFocus, fieldProps, memoUnChange]);
var childrenRender = useMemo(function () {
// 防止 formItem 的值被吃掉
if (children) {
if ( /*#__PURE__*/React.isValidElement(children)) {
return /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, restProps), {}, {
onChange: function onChange() {
for (var _len2 = arguments.length, restParams = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
restParams[_key2] = arguments[_key2];
}
if (fieldProps !== null && fieldProps !== void 0 && fieldProps.onChange) {
var _fieldProps$onChange2;
fieldProps === null || fieldProps === void 0 || (_fieldProps$onChange2 = fieldProps.onChange) === null || _fieldProps$onChange2 === void 0 || _fieldProps$onChange2.call.apply(_fieldProps$onChange2, [fieldProps].concat(restParams));
return;
}
_onChange === null || _onChange === void 0 || _onChange.apply(void 0, restParams);
}
}, (children === null || children === void 0 ? void 0 : children.props) || {}));
}
return /*#__PURE__*/_jsx(_Fragment, {
children: children
});
}
return;
}, [children, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange, _onChange, restProps]);
if (childrenRender) {
return childrenRender;
}
return /*#__PURE__*/_jsx(ProField, _objectSpread(_objectSpread(_objectSpread({
text: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps[valuePropName],
render: render,
renderFormItem: renderFormItem,
valueType: valueType || 'text',
cacheForSwr: cacheForSwr,
fieldProps: memoFieldProps,
valueEnum: runFunction(valueEnum)
}, proFieldProps), restProps), {}, {
mode: (proFieldProps === null || proFieldProps === void 0 ? void 0 : proFieldProps.mode) || modeContext.mode || 'edit',
params: propsParams
}));
};
var ProFormField = createField( /*#__PURE__*/memo(BaseProFormField, function (prevProps, nextProps) {
return isDeepEqualReact(nextProps, prevProps, ['onChange', 'onBlur']);
}));
export default ProFormField;