<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>