UNPKG

tdesign-react

Version:
74 lines (70 loc) 3.01 kB
/** * tdesign v1.16.2 * (c) 2025 tdesign * @license MIT */ import React, { useEffect } from 'react'; import { isEmpty, get, has, unset } from 'lodash-es'; import { useFormContext, useFormListContext } from '../FormContext.js'; import { TD_DEFAULT_VALUE_MAP } from '../const.js'; function useFormItemInitialData(name, fullPath) { var hadReadFloatingFormData = false; var _useFormContext = useFormContext(), form = _useFormContext.form, floatingFormDataRef = _useFormContext.floatingFormDataRef, formContextInitialData = _useFormContext.initialData; var _useFormListContext = useFormListContext(), formListName = _useFormListContext.name, formListInitialData = _useFormListContext.initialData; useEffect(function () { if (hadReadFloatingFormData) { var nameList = formListName ? [formListName, name].flat() : name; unset(floatingFormDataRef.current, nameList); } }, [hadReadFloatingFormData, floatingFormDataRef, formListName, name]); function getDefaultInitialData(_ref) { var children = _ref.children, initialData = _ref.initialData; if (name && floatingFormDataRef !== null && floatingFormDataRef !== void 0 && floatingFormDataRef.current && !isEmpty(floatingFormDataRef.current)) { var nameList = formListName ? [formListName, name].flat() : name; var defaultInitialData = get(floatingFormDataRef.current, nameList); if (typeof defaultInitialData !== "undefined") { hadReadFloatingFormData = true; return defaultInitialData; } } if (formListName && Array.isArray(fullPath)) { var pathPrefix = fullPath.slice(0, -1); var pathExisted = has(form.store, pathPrefix); if (pathExisted) { return get(form.store, fullPath); } } if (typeof initialData !== "undefined") { return initialData; } if (name && formListInitialData.length) { var _defaultInitialData = get(formListInitialData, name); if (typeof _defaultInitialData !== "undefined") return _defaultInitialData; } if (name && formContextInitialData) { var _defaultInitialData2 = get(formContextInitialData, name); if (typeof _defaultInitialData2 !== "undefined") return _defaultInitialData2; } if (typeof children !== "function") { var childList = React.Children.toArray(children); var lastChild = childList[childList.length - 1]; if (lastChild && /*#__PURE__*/React.isValidElement(lastChild)) { var _lastChild$props; var isMultiple = lastChild === null || lastChild === void 0 || (_lastChild$props = lastChild.props) === null || _lastChild$props === void 0 ? void 0 : _lastChild$props.multiple; var componentName = lastChild.type.displayName; return isMultiple ? [] : TD_DEFAULT_VALUE_MAP.get(componentName); } } } return { getDefaultInitialData: getDefaultInitialData }; } export { useFormItemInitialData as default }; //# sourceMappingURL=useFormItemInitialData.js.map