1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<template>
<div class="el-form-item--small el-form--label-top" style="padding: 13px">
<strong class="el-form-item__label" style="padding: 0">显隐配置:</strong>
<div class="el-form-item__content">
<draggable
tag="ul"
:list="data.dynamicshSet"
:group="{ name: 'dynamicsh' }"
ghost-class="ghost"
handle=".drag-item"
v-if="data.dynamicshSet && data.dynamicshSet.length > 0"
>
<li v-for="(item, index) in data.dynamicshSet" :key="index">
<i
class="drag-item el-icon-s-operation"
style="font-size: 16px; margin: 0 5px; cursor: move"
></i>
<el-input
:style="{
'margin-right': '5px',
}"
size="mini"
clearable
v-model="item.value"
placeholder="值"
></el-input>
<el-input
size="mini"
clearable
v-model="item.target"
placeholder="字段"
></el-input>
<el-button
@click="handleRemoveFields(index)"
circle
plain
type="danger"
size="mini"
icon="el-icon-minus"
style="padding: 4px; margin-left: 5px"
></el-button>
</li>
</draggable>
<div style="margin-left: 22px">
<el-button type="text" @click="handleAddFields">添加列 </el-button>
</div>
</div>
</div>
</template>
<script>
import Draggable from "vuedraggable"
export default {
props: ["data"],
components: { Draggable },
data() {
return {}
},
methods: {
handleRemoveFields(index) {
this.data.dynamicshSet.splice(index, 1)
},
handleAddFields() {
if (!this.data.dynamicshSet) {
this.$set(this.data, "dynamicshSet", [])
}
this.data.dynamicshSet.push({ value: ``, target: `` })
},
},
}
</script>