From 83a34603562e6358203b834b8feb59b0b44dbbcd Mon Sep 17 00:00:00 2001 From: Vben Date: Thu, 4 Mar 2021 23:11:38 +0800 Subject: [PATCH] fix(form): fix the problem of form props monitoring close #322 --- CHANGELOG.zh_CN.md | 7 +++++++ src/components/Form/src/hooks/useForm.ts | 16 +++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 60602fb6..daf42d91 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,3 +1,10 @@ +## Wip + +### 🐛 Bug Fixes + +- 修复`Description`已知问题 +- 修复`BasicForm`已知问题 + ## 2.0.2 (2021-03-04) ### ✨ Refactor diff --git a/src/components/Form/src/hooks/useForm.ts b/src/components/Form/src/hooks/useForm.ts index 4e592802..2a421fd6 100644 --- a/src/components/Form/src/hooks/useForm.ts +++ b/src/components/Form/src/hooks/useForm.ts @@ -1,4 +1,4 @@ -import { ref, onUnmounted, unref, nextTick, watchEffect } from 'vue'; +import { ref, onUnmounted, unref, nextTick, watch } from 'vue'; import { isInSetup } from '/@/utils/helper/vueHelper'; import { isProdMode } from '/@/utils/env'; @@ -39,12 +39,18 @@ export function useForm(props?: Props): UseFormReturnType { if (unref(loadedRef) && isProdMode() && instance === unref(formRef)) return; formRef.value = instance; - loadedRef.value = true; - watchEffect(() => { - props && instance.setProps(getDynamicProps(props)); - }); + watch( + () => props, + () => { + props && instance.setProps(getDynamicProps(props)); + }, + { + immediate: true, + deep: true, + } + ); } const methods: FormActionType = { -- GitLab