2025年02月07日 建站教程
el-table
如何做一个拖拽行排序效果,下面web建站小编给大家详细介绍一下具体实现代码!
安装脚手架
npm install sortablejs --save
el-table基本代码
<template> <el-table :data="tableData" border row-key="date" > <el-table-column prop="date" label="日期" width="180"> </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>
引入sortablejs组件实现拖拽功能
import Sortable from "sortablejs"; export default { data() { return { tableData: [ { date: "2016-05-01", name: "王小虎", address: "上海市普陀区金沙江路 1519 弄", }, { date: "2016-05-02", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄", }, { date: "2016-05-03", name: "王小虎", address: "上海市普陀区金沙江路 1516 弄", }, { date: "2016-05-04", name: "王小虎", address: "上海市普陀区金沙江路 1517 弄", }, ], }; }, mounted() { const tbody = document.querySelector(".draggable-table .el-table__body-wrapper tbody"); new Sortable(tbody, { animation: 150, // 需要在odEnd方法中处理原始eltable数据,使原始数据与显示数据保持顺序一致 onEnd: ({ newIndex, oldIndex }) => { const targetRow = this.tableData[oldIndex]; this.tableData.splice(oldIndex, 1); this.tableData.splice(newIndex, 0, targetRow); console.table(this.tableData); }, }); }, };
本文链接:http://so.lmcjl.com/news/22699/