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();
相关推荐
myNameGL20 小时前
ArkTs核心语法
前端·javascript·vue.js
浏览器API调用工程师_Taylor20 小时前
web逆向之小红书无水印图片提取工具
前端·javascript·逆向
yuki_uix20 小时前
性能指标与优化:从 Core Web Vitals 到实战
前端·javascript
简单不容易20 小时前
vue一次解决监听H5软键盘弹出和收起的兼容问题
javascript·vue.js
滕青山20 小时前
在线图片压缩工具核心JS实现
前端·javascript·vue.js
进击的尘埃20 小时前
低代码组件通信:`EventBus`和响应式数据流,到底该选哪个
javascript
代码煮茶20 小时前
Pinia 状态管理实战 | 从 0 到 1 搭建 Vue3 项目状态层(附模块化 / 持久化)
前端·vue.js
angerdream20 小时前
https://editor.csdn.net/md/?articleId=159120195
javascript·vue.js
敲敲敲敲暴你脑袋20 小时前
穷鬼快乐AI工具Ollama
javascript·人工智能·ollama
WayneX20 小时前
Vue 3 + TypeScript + Vite 组件库搭建,自助式生成相应组件文档
前端·javascript·vue.js