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();
相关推荐
北辰alk2 分钟前
Vue 表单修饰符 .lazy:性能优化的秘密武器
vue.js
北辰alk3 分钟前
`active-class`:Vue Router 链接组件的激活状态管理
vue.js
北辰alk4 分钟前
Vue Router 参数传递:params vs query 深度解析
vue.js
北辰alk9 分钟前
Vue 3 Diff算法革命:比双端比对快在哪里?
vue.js
boooooooom21 分钟前
手写简易Vue响应式:基于Proxy + effect的核心实现
javascript·vue.js
王同学 学出来26 分钟前
vue+nodejs项目在服务器实现docker部署
服务器·前端·vue.js·docker·node.js
一道雷31 分钟前
让 Vant 弹出层适配 Uniapp Webview 返回键
前端·vue.js·前端框架
bug总结41 分钟前
uniapp+动态设置顶部导航栏使用详解
java·前端·javascript
晴殇i44 分钟前
深入理解MessageChannel:JS双向通信的高效解决方案
前端·javascript·程序员
毕设十刻1 小时前
基于Vue的民宿管理系统st4rf(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js