当前浏览器不支持canvas,请更换浏览器后再试

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标签,即可实现表格行拖动。

posted @ 2025-08-13 18:27  高亮uncle  阅读(498)  评论(0)    收藏  举报