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 };