瀏覽代碼

Feat: Upgrade react-hook-form to the latest version to solve the problem that appending a useFieldArray entry cannot trigger the watch callback function #3221 (#7849)

### What problem does this PR solve?

Feat: Upgrade react-hook-form to the latest version to solve the problem
that appending a useFieldArray entry cannot trigger the watch callback
function #3221

[issue: watch is not called when appending first item to Field Array
#12370](https://github.com/react-hook-form/react-hook-form/issues/12370)

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
tags/v0.19.1
balibabu 5 月之前
父節點
當前提交
78fa37f8ae
沒有連結到貢獻者的電子郵件帳戶。

+ 5
- 4
web/package-lock.json 查看文件

"react-copy-to-clipboard": "^5.1.0", "react-copy-to-clipboard": "^5.1.0",
"react-dropzone": "^14.3.5", "react-dropzone": "^14.3.5",
"react-error-boundary": "^4.0.13", "react-error-boundary": "^4.0.13",
"react-hook-form": "^7.53.1",
"react-hook-form": "^7.56.4",
"react-i18next": "^14.0.0", "react-i18next": "^14.0.0",
"react-infinite-scroll-component": "^6.1.0", "react-infinite-scroll-component": "^6.1.0",
"react-markdown": "^9.0.1", "react-markdown": "^9.0.1",
} }
}, },
"node_modules/react-hook-form": { "node_modules/react-hook-form": {
"version": "7.53.1",
"resolved": "https://registry.npmmirror.com/react-hook-form/-/react-hook-form-7.53.1.tgz",
"integrity": "sha512-6aiQeBda4zjcuaugWvim9WsGqisoUk+etmFEsSUMm451/Ic8L/UAb7sRtMj3V+Hdzm6mMjU1VhiSzYUZeBm0Vg==",
"version": "7.56.4",
"resolved": "https://registry.npmmirror.com/react-hook-form/-/react-hook-form-7.56.4.tgz",
"integrity": "sha512-Rob7Ftz2vyZ/ZGsQZPaRdIefkgOSrQSPXfqBdvOPwJfoGnjwRJUs7EM7Kc1mcoDv3NOtqBzPGbcMB8CGn9CKgw==",
"license": "MIT",
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"
}, },

+ 1
- 1
web/package.json 查看文件

"react-copy-to-clipboard": "^5.1.0", "react-copy-to-clipboard": "^5.1.0",
"react-dropzone": "^14.3.5", "react-dropzone": "^14.3.5",
"react-error-boundary": "^4.0.13", "react-error-boundary": "^4.0.13",
"react-hook-form": "^7.53.1",
"react-hook-form": "^7.56.4",
"react-i18next": "^14.0.0", "react-i18next": "^14.0.0",
"react-infinite-scroll-component": "^6.1.0", "react-infinite-scroll-component": "^6.1.0",
"react-markdown": "^9.0.1", "react-markdown": "^9.0.1",

+ 10
- 2
web/src/pages/agent/form-sheet/use-form-config-map.tsx 查看文件

}, },
[Operator.Message]: { [Operator.Message]: {
component: MessageForm, component: MessageForm,
defaultValues: {},
defaultValues: {
content: [],
},
schema: z.object({ schema: z.object({
content: z.array(z.string()).optional(),
content: z
.array(
z.object({
value: z.string(),
}),
)
.optional(),
}), }),
}, },
[Operator.Relevant]: { [Operator.Relevant]: {

+ 1
- 0
web/src/pages/agent/form/message-form/index.tsx 查看文件

render={({ field }) => ( render={({ field }) => (
<FormItem className="flex-1"> <FormItem className="flex-1">
<FormControl> <FormControl>
{/* <Input {...field}></Input> */}
<PromptEditor <PromptEditor
{...field} {...field}
placeholder={t('flow.messagePlaceholder')} placeholder={t('flow.messagePlaceholder')}

+ 6
- 1
web/src/pages/agent/hooks/use-watch-form-change.ts 查看文件

useEffect(() => { useEffect(() => {
const subscription = form?.watch((value, { name, type, values }) => { const subscription = form?.watch((value, { name, type, values }) => {
console.log('🚀 ~ subscription ~ value:', value); console.log('🚀 ~ subscription ~ value:', value);

if (id && name) { if (id && name) {
console.log( console.log(
'🚀 ~ useEffect ~ value:', '🚀 ~ useEffect ~ value:',
script: CodeTemplateStrMap[value.lang as ProgrammingLanguage], script: CodeTemplateStrMap[value.lang as ProgrammingLanguage],
}; };
} }

if (operatorName === Operator.Message) {
}

// Manually triggered form updates are synchronized to the canvas // Manually triggered form updates are synchronized to the canvas
if (type) {
if (form.formState.isDirty) {
// run(id, nextValues); // run(id, nextValues);
updateNodeForm(id, nextValues); updateNodeForm(id, nextValues);
} }

Loading…
取消
儲存