element-ui + sortable.js 实现可拖拽表格

element-ui + sortable.js 实现可拖拽表格

先看效果:
在这里插入图片描述

安装Sortablejs

npm install sortablejs --save

demo

<template>
  <el-table id="draggable-table" row-key="id" :data="tableData">
    <el-table-column label="序号" type="index" width="50"></el-table-column>
    <el-table-column prop="name" label="姓名" width="180"></el-table-column>
    <el-table-column prop="address" label="地址"></el-table-column>
  </el-table>
</template>


<script>
import Sortable from 'sortablejs'

export default {
  name: 'draggable-table',
  data() {
    return {
      tableData: [
        {
          id: 1,
          name: 'person-1',
          address: 'address-1'
        },
        {
          id: 2,
          name: 'person-2',
          address: 'address-1'
        },
        {
          id: 3,
          name: 'person-3',
          address: 'address-1'
        }
      ]
    }
  },
  mounted() {
    const el = document.querySelector('#draggable-table tbody');
    const option = {
      animation: 200,
      onEnd: ({newIndex, oldIndex}) => {
        const currRow = this.tableData.splice(oldIndex, 1)[0]
        this.tableData.splice(newIndex, 0, currRow)
      },
    };
    const sortable = Sortable.create(el, option);
  }
}
</script>

<style scoped>
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值