fix: 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题 (#3357)

* 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题

* chore: resolve prettier error

---------

Co-authored-by: invalid w <wangjuesix@gmail.com>
This commit is contained in:
松鼠 2023-11-29 16:56:49 +08:00 committed by GitHub
parent b0e8154f9f
commit beee35173b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -63,6 +63,7 @@
import { basicProps } from './props';
import { useDesign } from '@/hooks/web/useDesign';
import { cloneDeep } from 'lodash-es';
import { TableActionType } from '@/components/Table';
defineOptions({ name: 'BasicForm' });
@ -124,7 +125,12 @@
const getSchema = computed((): FormSchema[] => {
const schemas: FormSchema[] = unref(schemaRef) || (unref(getProps).schemas as any);
for (const schema of schemas) {
const { defaultValue, component, componentProps, isHandleDateDefaultValue = true } = schema;
const {
defaultValue,
component,
componentProps = {},
isHandleDateDefaultValue = true,
} = schema;
// handle date type
if (
isHandleDateDefaultValue &&
@ -132,7 +138,17 @@
component &&
dateItemType.includes(component)
) {
const valueFormat = componentProps ? componentProps['valueFormat'] : null;
const opt = {
schema,
tableAction: props.tableAction ?? ({} as TableActionType),
formModel,
formActionType: {} as FormActionType,
};
const valueFormat = componentProps
? typeof componentProps === 'function'
? componentProps(opt)['valueFormat']
: componentProps['valueFormat']
: null;
if (!Array.isArray(defaultValue)) {
schema.defaultValue = valueFormat
? dateUtil(defaultValue).format(valueFormat)