element(-ui 和 -plus)的table实现拖拽排序

首先我要介绍一个超级好用的工具,sortablejs

直接安装yarn add sortablejs, 后在自己的vue文件中引入就可以直接使用了
首先提供element plus 和 -ui的区别只在于 传入Sortable的el。
element-ui: ‘.el-table__body-wrapper tbody’
element-plus: ‘.el-table__body tbody’


    rowDrop() {
      // tbody  拿到你要去操作的拖拽元素的父节点
      const tbody = document.querySelector(
        '.el-table__body tbody',
        // .el-table__body-wrapper tbody
      );
      // eslint-disable-next-line @typescript-eslint/no-this-alias
      const that = this;
      new Sortable(tbody, {
        animation: 150, //定义排序动画的时间  单位是ms
        ghostClass: 'blue-background-class', //drop placeholder的css类名  可以不设置
        //开始拖拽
        onStart: function (e) {
          // ...开始拖拽逻辑
        },
        //结束拖拽
        onEnd: function (obj) {
          const list = JSON.parse(
            JSON.stringify(that.tableData),
          );
          const temp = list.splice(obj.oldIndex, 1)[0];
          list.splice(obj.newIndex, 0, temp);
          that.tableData = list;
        },
      });

感谢这个博文让我了解到了sortablejs这个工具
参考博文地址:https://blog.csdn.net/PaPablame/article/details/128126882
工具官网:http://www.sortablejs.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值