Browse Source
fix: 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题 (#3357)
* 修复BasicForm使用componentProps函数返回valueFormat时DatePicker无法正确格式化的问题
* chore: resolve prettier error
---------
Co-authored-by: invalid w <wangjuesix@gmail.com>
pull/3360/merge
松鼠
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
18 additions and
2 deletions
-
src/components/Form/src/BasicForm.vue
|
|
|
@ -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) |
|
|
|
|