vue踩坑 Error in mounted hook: "Sortable: `el` must be an HTMLElement, not [object Null]"

本文探讨了在Vue项目中使用v-if控制表格和视图显示时,遇到的Sortable.js拖拽排序功能冲突问题。通过调整Sortable.js的初始化时机,即在el-table加载完成后再调用Sortable.js的方法,成功解决了错误并实现了预期的拖拽排序效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述因为项目需要表格实现拖拽排序效果,最开始选用了sortable.js
我的列表视图有两种方式,一种是表格方式的,一种是图示视图。
我用的v-if来控制显示表格和视图的显示方式。
一开始的时候,我默认显示的是表格形式,是没有这个报错的
后来我把初始化的视图改成了图示的,
就报了上图的错…

感觉应该是v-if的原因,el-table这时候是没有加载的,但是我在mounted函数里调用了sortable.js的方法
在这里插入图片描述
所以,只要在el-table表格加载出来了,再使用sortable就不会报错了
在这里插入图片描述
把mounted里的rowDrop()去掉,
改成切换成table视图时才调用rowDrop()就没有报错了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值