diff --git a/src/components/FormField/components/Spreadsheet/index.js b/src/components/FormField/components/Spreadsheet/index.js index 98efc27..ccc04b9 100644 --- a/src/components/FormField/components/Spreadsheet/index.js +++ b/src/components/FormField/components/Spreadsheet/index.js @@ -36,7 +36,7 @@ const parseWorkbook = (val) => { return null; }; -const Spreadsheet = ({ fieldName, defaultValue, setDataFn, template }) => { +const Spreadsheet = ({ fieldName, defaultValue, setDataFn, template, register, config = {} }) => { const containerRef = useRef(null); const univerRef = useRef(null); const univerAPIRef = useRef(null); @@ -102,7 +102,7 @@ const Spreadsheet = ({ fieldName, defaultValue, setDataFn, template }) => { saveTimerRef.current = setTimeout(() => { const wb = univerAPIRef.current?.getActiveWorkbook(); if (wb) { - setDataFn(fieldName, wb.save()); + setDataFn(fieldName, wb.save(), { shouldValidate: true }); } }, 300); clearTimeout(restoreTimer); @@ -128,6 +128,10 @@ const Spreadsheet = ({ fieldName, defaultValue, setDataFn, template }) => { return () => el.removeEventListener('wheel', handler); }, []); + useEffect(() => { + register(fieldName, config); + }, []); // eslint-disable-line react-hooks/exhaustive-deps + return (