UNPKG

tdesign-react

Version:
71 lines (65 loc) 2.96 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var slicedToArray = require('../../_chunks/dep-e17e2d31.js'); var React = require('react'); var form_hooks_useForm = require('./useForm.js'); var _util_noop = require('../../_util/noop.js'); var get = require('../../_chunks/dep-fbc19a54.js'); var isUndefined = require('../../_chunks/dep-f400737d.js'); require('../../_chunks/dep-b7d577ac.js'); require('../../_chunks/dep-64a1054a.js'); require('../../_chunks/dep-5ad10091.js'); require('../../_chunks/dep-cc768e34.js'); require('../../_chunks/dep-6d4d8660.js'); require('../../_chunks/dep-4bc3c0ab.js'); require('../../_chunks/dep-4ba2ac6b.js'); require('../../_chunks/dep-028b759d.js'); require('../../_chunks/dep-f076775e.js'); require('../../_chunks/dep-f0379c5f.js'); require('../../_chunks/dep-ddacd27a.js'); require('../../_chunks/dep-a30819a4.js'); require('../../_chunks/dep-6a7ba247.js'); require('../../_chunks/dep-bed9d73e.js'); require('../../_chunks/dep-780eda7b.js'); require('../../_chunks/dep-c87d9752.js'); require('../../_chunks/dep-62193a48.js'); function useWatch(name, form) { var _useState = React.useState(), _useState2 = slicedToArray._slicedToArray(_useState, 2), value = _useState2[0], setValue = _useState2[1]; var valueStr = React.useMemo(function () { return JSON.stringify(value); }, [value]); var valueStrRef = React.useRef(valueStr); var isValidForm = form && form._init; React.useEffect(function () { var _form$getInternalHook3, _form$getFieldsValue2; if (!isValidForm) return; var _form$getInternalHook = (_form$getInternalHook3 = form.getInternalHooks) === null || _form$getInternalHook3 === void 0 ? void 0 : _form$getInternalHook3.call(form, form_hooks_useForm.HOOK_MARK), _form$getInternalHook2 = _form$getInternalHook.registerWatch, registerWatch = _form$getInternalHook2 === void 0 ? _util_noop["default"] : _form$getInternalHook2; var cancelRegister = registerWatch(function () { var _form$getFieldsValue; var allFieldsValue2 = (_form$getFieldsValue = form.getFieldsValue) === null || _form$getFieldsValue === void 0 ? void 0 : _form$getFieldsValue.call(form, true); var newValue = get.get(allFieldsValue2, name); var nextValueStr = JSON.stringify(newValue); if (valueStrRef.current !== nextValueStr) { valueStrRef.current = nextValueStr; setValue(nextValueStr); } }); var allFieldsValue = (_form$getFieldsValue2 = form.getFieldsValue) === null || _form$getFieldsValue2 === void 0 ? void 0 : _form$getFieldsValue2.call(form, true); var initialValue = get.get(allFieldsValue, name); setValue(JSON.stringify(initialValue)); return cancelRegister; }, []); return isUndefined.isUndefined(value) ? value : JSON.parse(value); } exports["default"] = useWatch; //# sourceMappingURL=useWatch.js.map