elmentui树形表格使用Sortable拖拽展开行时拖拽bug

1、使用elemntui的el-table使用Sortable进行拖拽,如下

javascript 复制代码
const el = this.$el.querySelector('.el-table__body-wrapper tbody')
Sortable.create(el, {
  onEnd: (event) => {
    const { oldIndex, newIndex } = event
    //拿到更新前后的下标即可完成数据的更新
  }
})

2、但是我这个需求有点特俗,这个table是一个展开行表格,如下:
3、每次当表格展开的时候,因为展开的数据和要拖拽表格数据同属于拖拽元素,所以每次都可以展开内容,这个是不允许的,所以我需要在展开的时候禁止拖拽

4、解决方式:先把这个拖拽对象赋值给vue的一个属性,然后在展开的时候把这个拖拽对象销毁,所有的展开行都关闭的时候再生成一下拖拽对象

javascript 复制代码
// 假设 sortable 是 Sortable.create 返回的对象
var sortable = Sortable.create(/* ... */);

// 关闭整个列表的拖拽功能
sortable.destroy();
相关推荐
我有一棵树24 分钟前
file 协议与 http 协议的区别:为什么本地 HTML 无法加载相对路径 JS,以及正确的解决方式
javascript·http·html
有意义29 分钟前
JavaScript 词法作用域与闭包:从底层原理到实战理解
前端·javascript·面试
AY呀42 分钟前
黑马喽大闹天宫与JavaScript的寻亲记:作用域与作用域链全解析
前端·javascript·面试
梦想CAD控件1 小时前
AI生成CAD图纸(云原生CAD+AI让设计像聊天一样简单)
前端·javascript·vue.js
最爱老虎头1 小时前
Konvajs实现虚拟表格
javascript
比老马还六1 小时前
Bipes项目二次开发/设置功能-1(五)
前端·javascript
诸葛亮的芭蕉扇1 小时前
tree组件点击节点间隙的异常问题分析
前端·javascript·vue.js
月弦笙音2 小时前
【Promise.withResolvers】发现这个api还挺有用
前端·javascript·typescript
凡人程序员2 小时前
搭建简易版monorepo + turborepo
前端·javascript
不努力也不会混2 小时前
vite联邦实现微前端(vite-plugin-federation)
前端·vue.js