|
@@ -22,21 +22,21 @@
|
|
|
<slot name="default" :form-model="formModel"></slot>
|
|
|
<!-- </template> -->
|
|
|
<template v-if="item.compOptions.elTagName === 'icon'">
|
|
|
- <SelectIcon v-model:icon-value="formModel[item.prop]" />
|
|
|
+ <SelectIcon v-model:icon-value="formModel[handleProp(item.prop)]" />
|
|
|
</template>
|
|
|
<template v-else-if="item.compOptions.elTagName === 'file-upload'">
|
|
|
- <FileUpload v-model:model-value="formModel[item.prop]" />
|
|
|
+ <FileUpload v-model:model-value="formModel[handleProp(item.prop)]" v-bind="$attrs" />
|
|
|
</template>
|
|
|
<template v-else-if="item.compOptions.elTagName === 'img-upload'">
|
|
|
- <Imgs v-model="formModel[item.prop]" v-bind="$attrs" />
|
|
|
+ <Imgs v-model="formModel[handleProp(item.prop)]" v-bind="$attrs" />
|
|
|
</template>
|
|
|
<template v-else-if="item.compOptions.elTagName === 'file-upload-s3'">
|
|
|
- <FileUploadS3 v-model:model-value="formModel[item.prop]" />
|
|
|
+ <FileUploadS3 v-model:model-value="formModel[handleProp(item.prop)]" v-bind="$attrs" />
|
|
|
</template>
|
|
|
<template v-else-if="item.compOptions.elTagName === 'img-upload-s3'">
|
|
|
- <ImgsS3 v-model="formModel[item.prop]" v-bind="$attrs" />
|
|
|
+ <ImgsS3 v-model="formModel[handleProp(item.prop)]" v-bind="$attrs" />
|
|
|
</template>
|
|
|
- <Item v-else :item="item" :form-model="formModel" />
|
|
|
+ <Item v-else :item="item" :model="formModel" />
|
|
|
</component>
|
|
|
</el-col>
|
|
|
</template>
|
|
@@ -63,7 +63,7 @@ import FileUpload from '@/components/Upload/File.vue'
|
|
|
import Imgs from '@/components/Upload/Imgs.vue'
|
|
|
import FileUploadS3 from '@/components/Upload/FileS3.vue'
|
|
|
import ImgsS3 from '@/components/Upload/ImgsS3.vue'
|
|
|
-// import { handleProp } from '@/utils'
|
|
|
+import { handleProp } from '@/utils'
|
|
|
// 表单整体配置项
|
|
|
export interface ProFormProps {
|
|
|
formOptions?: ProForm.FormOptions
|
|
@@ -151,11 +151,14 @@ watch(props, () => {
|
|
|
watch(
|
|
|
() => props.model,
|
|
|
() => {
|
|
|
- props.itemsOptions.map((item: ProForm.ItemsOptions) => {
|
|
|
+ props.itemsOptions.forEach((item: ProForm.ItemsOptions) => {
|
|
|
// 如果类型为checkbox,默认值需要设置一个空数组
|
|
|
let value = ['checkbox', 'transfer'].includes(item.compOptions.elTagName!) ? [] : props.model[item.prop]
|
|
|
- props.model[item.prop] ? (formModel.value = props.model) : (formModel.value[item.prop] = item.compOptions.value || value)
|
|
|
+ props.model[item.prop]
|
|
|
+ ? (formModel.value = props.model)
|
|
|
+ : (formModel.value[item.prop] = item.compOptions.value === 0 ? 0 : item.compOptions.value || value)
|
|
|
})
|
|
|
+ console.log('formModel.value', formModel.value)
|
|
|
},
|
|
|
{ immediate: true }
|
|
|
)
|