From cca7f59faca52888340facd449d3a66ad0659ea3 Mon Sep 17 00:00:00 2001 From: Electrolux <59329360+electroluxcode@users.noreply.github.com> Date: 星期四, 06 六月 2024 15:27:15 +0800 Subject: [PATCH] fix(BasicForm->Upload): setValue and defaultValue uncertain && rule about first render (#3900) --- src/components/Form/src/BasicForm.vue | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 13ce15d..63e942c 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -54,7 +54,7 @@ import { useFormValues } from './hooks/useFormValues'; import useAdvanced from './hooks/useAdvanced'; - import { useFormEvents } from './hooks/useFormEvents'; + import { itemIsUploadComponent, useFormEvents } from './hooks/useFormEvents'; import { createFormContext } from './hooks/useFormContext'; import { useAutoFocus } from './hooks/useAutoFocus'; import { useModalContext } from '@/components/Modal'; @@ -64,7 +64,7 @@ import { useDesign } from '@/hooks/web/useDesign'; import { cloneDeep } from 'lodash-es'; import { TableActionType } from '@/components/Table'; - import { isFunction } from '@/utils/is'; + import { isArray, isFunction } from '@/utils/is'; defineOptions({ name: 'BasicForm' }); @@ -165,14 +165,17 @@ schema.defaultValue = def; } } + // handle upload type + if (defaultValue && itemIsUploadComponent(schema?.component)) { + if (isArray(defaultValue)) { + schema.defaultValue = defaultValue; + } else if (typeof defaultValue == 'string') { + schema.defaultValue = [defaultValue]; + } + } // handle schema.valueFormat - if ( - isHandleDefaultValue && - defaultValue && - component && - isFunction(valueFormat) - ) { + if (isHandleDefaultValue && defaultValue && component && isFunction(valueFormat)) { schema.defaultValue = valueFormat({ value: defaultValue, schema, -- Gitblit v1.8.0