Skip to content

Commit 55f6e4c

Browse files
committed
主子表:确认列表编辑的支持组件情况
1 parent 9f9e0f8 commit 55f6e4c

File tree

2 files changed

+66
-4
lines changed

2 files changed

+66
-4
lines changed

src/components/UploadFile/src/UploadFile.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ watch(
144144
} else if (isArray(props.modelValue)) {
145145
// 情况2:字符串
146146
files.concat(props.modelValue)
147+
} else if (props.modelValue === undefined) {
148+
// 情况3:undefined 不处理
147149
} else {
148150
throw new Error('不支持的 modelValue 类型')
149151
}

src/views/infra/demo02/DemoStudentContactForm.vue

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,73 @@
99
>
1010
<el-table :data="formData" class="-mt-10px">
1111
<el-table-column label="序号" type="index" width="100" />
12-
<el-table-column label="名字" prop="name" width="300">
12+
<el-table-column label="名字" prop="name" width="50">
1313
<template #default="row">
1414
<el-form-item class="mb-0px!">
1515
<el-input v-model="row.name" placeholder="请输入名字" />
1616
</el-form-item>
1717
</template>
1818
</el-table-column>
19-
<el-table-column label="手机号码">
19+
<el-table-column label="手机号码" width="150">
2020
<template #default="{ row, $index }">
2121
<el-form-item :prop="`${$index}.mobile`" :rules="formRules.mobile" class="mb-0px!">
2222
<el-input type="number" placeholder="输入手机号码" v-model="row.mobile" />
2323
</el-form-item>
2424
</template>
2525
</el-table-column>
26+
<el-table-column label="类型" width="150">
27+
<template #default="{ row, $index }">
28+
<el-form-item :prop="`${$index}.javaType`" :rules="formRules.javaType" class="mb-0px!">
29+
<el-select v-model="row.javaType">
30+
<el-option label="Long" value="Long" />
31+
<el-option label="String" value="String" />
32+
<el-option label="Integer" value="Integer" />
33+
<el-option label="Double" value="Double" />
34+
<el-option label="BigDecimal" value="BigDecimal" />
35+
<el-option label="LocalDateTime" value="LocalDateTime" />
36+
<el-option label="Boolean" value="Boolean" />
37+
</el-select>
38+
</el-form-item>
39+
</template>
40+
</el-table-column>
41+
<el-table-column label="多选" width="150">
42+
<template #default="{ row, $index }">
43+
<el-form-item :prop="`${$index}.sex`" :rules="formRules.sex" class="mb-0px!">
44+
<el-checkbox-group v-model="row.sex">
45+
<el-checkbox key="Long" label="Long">Long</el-checkbox>
46+
<el-checkbox key="String" label="String">String</el-checkbox>
47+
</el-checkbox-group>
48+
</el-form-item>
49+
</template>
50+
</el-table-column>
51+
<el-table-column label="图片上传" width="200">
52+
<template #default="{ row, $index }">
53+
<el-form-item :prop="`${$index}.pic`" :rules="formRules.pic" class="mb-0px!">
54+
<UploadImg v-model="row.pic" />
55+
</el-form-item>
56+
</template>
57+
</el-table-column>
58+
<el-table-column label="文件上传" width="200">
59+
<template #default="{ row, $index }">
60+
<el-form-item :prop="`${$index}.file`" :rules="formRules.file" class="mb-0px!">
61+
<UploadFile v-model="row.file" />
62+
</el-form-item>
63+
</template>
64+
</el-table-column>
65+
<el-table-column label="大输入框" width="200">
66+
<template #default="{ row, $index }">
67+
<el-form-item :prop="`${$index}.content`" :rules="formRules.content" class="mb-0px!">
68+
<el-input v-model="row.content" type="textarea" placeholder="请输入 content" />
69+
</el-form-item>
70+
</template>
71+
</el-table-column>
72+
<el-table-column label="HTML" width="1024">
73+
<template #default="{ row, $index }">
74+
<el-form-item :prop="`${$index}.html`" :rules="formRules.html" class="mb-0px!">
75+
<Editor v-model="row.html" height="150px" />
76+
</el-form-item>
77+
</template>
78+
</el-table-column>
2679
<el-table-column align="center" fixed="right" label="操作" width="60">
2780
<template #default="{ $index }">
2881
<el-button @click="handleDelete($index)" link>—</el-button>
@@ -41,7 +94,10 @@ const props = defineProps<{
4194
const formLoading = ref(false) // 表单的加载中
4295
const formData = ref([])
4396
const formRules = reactive({
44-
mobile: [required]
97+
mobile: [required],
98+
javaType: [required],
99+
sex: [required],
100+
pic: [required]
45101
})
46102
const formRef = ref() // 表单 Ref
47103
@@ -53,7 +109,11 @@ watch(
53109
formData.value = [
54110
{
55111
name: '芋艿',
56-
mobile: '15601691300'
112+
mobile: '15601691300',
113+
javaType: undefined,
114+
sex: [],
115+
pic: undefined,
116+
file: undefined
57117
}
58118
]
59119
} else {

0 commit comments

Comments
 (0)