feat: 🎸 Table组件重构完成并给出相应示例

This commit is contained in:
chenkl
2020-12-22 17:24:55 +08:00
parent 429e42809c
commit 35879f8ecc
50 changed files with 1056 additions and 449 deletions

View File

@@ -22,7 +22,7 @@
<template v-if="item.itemType === 'switch'">
<el-switch
v-model="formInline[item.field]"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
@change="((val) => {changeVal(val, item)})"
/>
</template>
@@ -30,7 +30,7 @@
<template v-if="item.itemType === 'input'">
<el-input
v-model="formInline[item.field]"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
@change="((val) => {changeVal(val, item)})"
/>
</template>
@@ -38,7 +38,7 @@
<template v-if="item.itemType === 'select'">
<el-select
v-model="formInline[item.field]"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
@change="((val) => {changeVal(val, item)})"
>
<el-option
@@ -59,7 +59,7 @@
<el-radio
v-for="v in item.options"
:key="item.optionValue ? v[item.optionValue] : v.value"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
:label="item.optionValue ? v[item.optionValue] : v.value"
>
{{ item.optionLabel ? v[item.optionLabel] : v.label }}
@@ -69,7 +69,7 @@
<el-radio-button
v-for="v in item.options"
:key="item.optionValue ? v[item.optionValue] : v.value"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
:label="item.optionValue ? v[item.optionValue] : v.value"
>
{{ item.optionLabel ? v[item.optionLabel] : v.label }}
@@ -102,7 +102,7 @@
<template v-if="item.itemType === 'timePicker'">
<el-time-picker
v-model="formInline[item.field]"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
@change="((val) => {changeVal(val, item)})"
/>
</template>
@@ -110,7 +110,7 @@
<template v-if="item.itemType === 'timeSelect'">
<el-time-select
v-model="formInline[item.field]"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
@change="((val) => {changeVal(val, item)})"
/>
</template>
@@ -118,7 +118,7 @@
<template v-if="item.itemType === 'datePicker' || item.itemType === 'dateTimePicker'">
<el-date-picker
v-model="formInline[item.field]"
v-bind="{...bindValue(item)}"
v-bind="{...getItemBindValue(item)}"
@change="((val) => {changeVal(val, item)})"
/>
</template>
@@ -236,7 +236,7 @@ export default defineComponent({
}
)
function bindValue(item: any) {
function getItemBindValue(item: any) {
const delArr: string[] = ['label', 'itemType', 'value', 'field']
const obj = deepClone(item)
for (const key in obj) {
@@ -288,7 +288,7 @@ export default defineComponent({
}
return {
bindValue,
getItemBindValue,
ruleForm,
formInline,
submitForm,