element-plus+vue-draggable-plus实现表格行拖拽
基于vue3,用 element-plus + vue-draggable-plus 实现表格行拖拽
vue-draggable-plus的官网:https://vue-draggable-plus.pages.dev/guide/
为什么使用vue-draggable-plus:
vue-draggable-plus可以在vue3的项目中使用
使用:
1.安装
npm install vue-draggable-plus
2.使用
组件的方式,引入vue-draggable-plus
import { VueDraggable } from 'vue-draggable-plus'
使用了vue-draggable-plus后的代码:
1 <VueDraggable :animation="150" v-model="props.row.itemList" target="tbody" @start="onStart(props.row.itemList)" @end="onEnd(props.row.itemList,props.row.id)"> 2 <el-table :data="props.row.itemList" :border="false"> 3 <el-table-column label="序号" width="80"> 4 <template #default="scope"> 5 {{ scope.$index + 1 }} 6 </template> 7 </el-table-column> 8 <el-table-column prop="materialName" label="物料名称" width="200" /> 9 <el-table-column prop="purchaseCategoryName" label="物料分类" width="400" /> 10 <el-table-column prop="materialUnit" label="物料单位" width="100" /> 11 <el-table-column prop="materialNorms" label="物料规格" width="100" /> 12 <el-table-column label="操作" align="center" min-width="120px"> 13 <template #default="scope"> 14 <el-button 15 link 16 type="danger" 17 @click="deleteTemplateItem(scope.row.id)" 18 > 19 删除 20 </el-button> 21 </template> 22 </el-table-column> 23 </el-table> 24 </VueDraggable>
在el-table外层包装一个VueDraggable,并且指定目标容器为tbody标签,即可实现表格行拖动。

浙公网安备 33010602011771号