使用sortabl对表格进行拖拉拽重新排序
1.安装依赖
npm install sortablejs --save
2.包裹拖拽内容
<div class="draggable" style="padding: 20px">
需要拖拽的内容,如表格
</div>
3.定义拖拽方法
// 列拖拽
columnDrop() {
const wrapperTr = document.querySelector('.draggable .el-table__header-wrapper tr'); // 这里我是对el-table中的列进行拖拽
this.sortable = Sortable.create(wrapperTr, {
animation: 180,
delay: 0,
onEnd: evt => {
// 接下来做索引的交换
let tempHableHeader = this.tableColumList // 先存一份临时变量表头数据
let temp // 临时变量用于交换
temp = tempHableHeader[evt.oldIndex] // 保存拖拽的内容
// 插入
tempHableHeader.splice(evt.oldIndex, 1);
tempHableHeader.splice(evt.newIndex, 0, temp)
// 交换
// tempHableHeader[evt.oldIndex] = tempHableHeader[evt.newIndex]
// tempHableHeader[evt.newIndex] = temp
// 重要的事情说三遍!!!
// 这里一定要先把表头数据清空,然后再下一轮中去赋值,否则会渲染错误
// 这里一定要先把表头数据清空,然后再下一轮中去赋值,否则会渲染错误
// 这里一定要先把表头数据清空,然后再下一轮中去赋值,否则会渲染错误
this.tableColumList = [] // 大家可以注掉试试哦
this.$nextTick(() => {
this.tableColumList = tempHableHeader
})
}
4. 挂在方法到钩子函数
mounted(){
this.columnDrop()
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律