diff --git a/src/components/Form/src/helper.ts b/src/components/Form/src/helper.ts index 5a4595ac314a1d4be773d9cf2a746ef06fa21948..d0727f38a40a0531dc89aee3078e6ed78680b19d 100644 --- a/src/components/Form/src/helper.ts +++ b/src/components/Form/src/helper.ts @@ -70,3 +70,5 @@ export function handleInputNumberValue(component?: ComponentType, val?: any) { * 时间字段 */ export const dateItemType = genType(); + +export const defaultValueComponents = ['Input', 'InputPassword', 'InputSearch', 'InputTextArea']; diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index be0123827e8bf6c6f2b855b86445e7c072d36ca9..1d80120c2e8f0482695f590eb1f2ec33f39e088d 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -4,7 +4,7 @@ import type { NamePath } from 'ant-design-vue/lib/form/interface'; import { unref, toRaw, nextTick } from 'vue'; import { isArray, isFunction, isObject, isString } from '/@/utils/is'; import { deepMerge } from '/@/utils'; -import { dateItemType, handleInputNumberValue } from '../helper'; +import { dateItemType, handleInputNumberValue, defaultValueComponents } from '../helper'; import { dateUtil } from '/@/utils/dateUtil'; import { cloneDeep, uniqBy } from 'lodash-es'; import { error } from '/@/utils/log'; @@ -37,7 +37,9 @@ export function useFormEvents({ if (!formEl) return; Object.keys(formModel).forEach((key) => { - formModel[key] = defaultValueRef.value[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]; }); nextTick(() => clearValidate());