当前位置: 首页 > news >正文

VUE3+element plus el-table上下拖拽

在elementPLUS中,并没有给el-table添加上下拖拽的功能,所以这里我们借助第三方实现(vuedraggable)

1.先安装

// 安装 vuedraggable
npm i -S vuedraggable

2.在需要拖拽的vue文件中引入

import Sortable from "sortablejs"

3.在使用之前,必须要给el-table设置row-key

<el-table :data="tableData" row-key="id"><el-table-column prop="name1" label="数据1" align="center" /><el-table-column prop="name2" label="数据2" align="center" />     
</el-table>

4.创建Sortable实例,把需要拖拽的元素给到Sortable实例,然后在onEnd()中实现改变排序逻辑

// 表格行拖拽const rowDrop = () => {let tbody = document.querySelector(".el-table__body-wrapper tbody");Sortable.create(tbody, {group: { // 相同的组之间可以相互拖拽name: "table",pull: true,put: true,},animation: 150, // ms, number 单位:ms,定义排序动画的时间onAdd: function (e: any) {// 拖拽时候添加有新的节点的时候发生该事件console.log("onAdd.foo:", e);},onUpdate: function (e: any) {// 拖拽更新节点位置发生该事件console.log("onUpdate.foo:", e);},onRemove: function (e: any) {// 删除拖拽节点的时候促发该事件console.log("onRemove.foo:", e);},onStart: function (e: any) {// 开始拖拽出发该函数console.log("onStart.foo:", e);},onSort: function (e: any) {// 发生排序发生该事件console.log("onUpdate.foo:", e);},onEnd(e: any) {// 结束拖拽console.log("结束表格拖拽", e);// 如果拖拽结束后顺序发生了变化,则对数据进行修改if (e.oldIndex !== e.newIndex) {moveTable(e.oldIndex, e.newIndex) // 排序后和后端的交互函数}},});}

5.在onMounted中执行

onMounted(() => {rowDrop()
})

如此,便可以实现el-table上下拖拽

http://www.dtcms.com/a/553521.html

相关文章:

  • 【模拟面试|豆包模拟面试-1 Java基础】
  • AI优化亚马逊广告:DeepBI智能化托管让广告运营从负担变轻松,ACOS优化至23%以下
  • 关键词解释:梯度消失(Vanishing Gradient)与 梯度爆炸(Exploding Gradient)
  • 天津网站建设如何最近火爆的新闻
  • Maven内核探秘:从启动到构建全流程
  • CNCC 2025|开源AI基础设施论坛成功举办
  • 开源可信MCP,AICC机密计算新升级!
  • 混元图像3.0开源原生多模态生图新篇章
  • 环境搭建与第一个程序:Hello, Rust!
  • [论文阅读] AI | 大语言模型服务系统服务级目标和系统级指标优化研究
  • 帝国网站管理系统视频教程asp网站开发
  • 自己做的网站申请软著物联网是干嘛的
  • 企业形象破局指南——缺乏专业线上展示?官网SEO优化重构品牌信任
  • webgl 变换矩阵:旋转、平移、缩放
  • 怎么做婚介网站襄阳php网站开发
  • 网站建设规划书案例济南做网站互联网公司有哪些
  • float为什么会丢失精度?
  • 网站产品后台界面怎么做微信朋友圈广告推广
  • 香港科技大学广州|可持续能源与环境学域博士招生宣讲会—吉林大学专场
  • LaTeX 重点表格文字对不齐(有些列文字和其他列差一行才显示)的原因和解决办法
  • 网站推广必做百度云打开的wordpress
  • soular零基础学习,如何统一管理TikLab帐号体系
  • kanass零基础学习:创建第一个项目
  • 【C语言实战(66)】筑牢防线:C语言安全编码之输入与错误处理
  • 【机器学习11】决策树进阶、随机森林、XGBoost、模型对比
  • 唯品会 一家专门做特卖的网站做振动盘的企业网站
  • 我的WordPress网站锦州网站建设市场
  • Spring Boot 3.3新特性全解析
  • 剪映蒙版模糊去水印全攻略:静态/动态水印
  • PandaCoder 2.4.3 震撼发布!