|
|
@@ -28,7 +28,10 @@ const uploadValueChange = (formItems: Array<BasicFormItem>) => {
|
|
|
props.formData[item.name] = []
|
|
|
}
|
|
|
}
|
|
|
- item.children && uploadValueChange(item.children)
|
|
|
+ // 尾递归
|
|
|
+ if (item.children) {
|
|
|
+ uploadValueChange(item.children)
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
|
|
|
@@ -42,7 +45,6 @@ const formData = computed(() => {
|
|
|
const res = props.formData
|
|
|
const buildFormData = (formItems: Array<BasicFormItem>, res: any) => {
|
|
|
formItems.forEach(item => {
|
|
|
- console.log(item.type)
|
|
|
if (!item.notFormItem || !notFormItem.includes(item.type)) {
|
|
|
// 将上传的值改成数组
|
|
|
if (['upload', 'image-upload'].includes(item.type) && !Array.isArray(item.value)) {
|
|
|
@@ -52,7 +54,6 @@ const formData = computed(() => {
|
|
|
.filter((item: string) => item)
|
|
|
.map((item: string) => ({ url: item })) || []
|
|
|
} else if (item.type === 'file-upload' && typeof item.value === 'string') {
|
|
|
- console.log('file:', item)
|
|
|
try {
|
|
|
item.value = JSON.parse(item.value || '[]').map((item: any) => ({
|
|
|
url: item.url,
|
|
|
@@ -65,7 +66,9 @@ const formData = computed(() => {
|
|
|
// 避免修改当前表单项value重置其他表单项的value
|
|
|
res[item.name] = res[item.name] !== undefined && item.value !== undefined ? res[item.name] : item.value
|
|
|
}
|
|
|
- item.children && buildFormData(item.children, res)
|
|
|
+ if (item.children) {
|
|
|
+ buildFormData(item.children, res)
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
buildFormData(props.formConfig.formItems, res)
|