From a103cd11b4c8e4eeac3be114c103a5c30f562042 Mon Sep 17 00:00:00 2001 From: yfh01 Date: Wed, 1 Jun 2022 00:53:44 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=A1=A8=E5=8D=95=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=80=BCdefaultValue=E6=97=B6=E5=80=99?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=B7=B1=E5=BA=A6=E6=8B=B7=E8=B4=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Form/src/hooks/useFormEvents.ts | 3 ++- src/components/Form/src/hooks/useFormValues.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index 96c9830b8..cc7597290 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -39,7 +39,8 @@ export function useFormEvents({ Object.keys(formModel).forEach((key) => { const schema = unref(getSchema).find((item) => item.field === key); const isInput = schema?.component && defaultValueComponents.includes(schema.component); - formModel[key] = isInput ? defaultValueRef.value[key] || '' : defaultValueRef.value[key]; + const defaultValue = cloneDeep(defaultValueRef.value[key]); + formModel[key] = isInput ? defaultValue || '' : defaultValue; }); nextTick(() => clearValidate()); diff --git a/src/components/Form/src/hooks/useFormValues.ts b/src/components/Form/src/hooks/useFormValues.ts index b5492dfe6..34dd9ddf7 100644 --- a/src/components/Form/src/hooks/useFormValues.ts +++ b/src/components/Form/src/hooks/useFormValues.ts @@ -3,7 +3,7 @@ import { dateUtil } from '/@/utils/dateUtil'; import { unref } from 'vue'; import type { Ref, ComputedRef } from 'vue'; import type { FormProps, FormSchema } from '../types/form'; -import { set } from 'lodash-es'; +import { cloneDeep, set } from 'lodash-es'; interface UseFormValuesContext { defaultValueRef: Ref; @@ -124,7 +124,7 @@ export function useFormValues({ } } }); - defaultValueRef.value = obj; + defaultValueRef.value = cloneDeep(obj); } return { handleFormValues, initDefault };