【vue】使用elementplus组件出现(promise) TypeError: Cannot set properties of null (setting ‘visible‘)的处理方案

最近在用elementplus重构别人的前端轮子的时候,出现了这么一个报错:

Uncaught (in promise) TypeError: Cannot set properties of null (setting 'visible')

出现场景为调用 message 弹窗组件时,如果没有很好的处理好后端给的数据,这边就会直接报这个错误然后整个页面的所有按钮都失效。
我本以为是自己的代码写的有问题,结果这个问题拖了大概有大半月,在前段日子才看到github有相关的 issue… 是vue3版本和elementplus不兼容导致的问题…

官方给出的解决方案有如下两种:

  1. 升级vue3版本到vue 3.2.32后续版本测试可以修复。
  2. 参考如下,直接修改组件底层代码。

github.com/element-plus/element-plus/pull/8797

至于出错的原因其实是:
复现步骤: 已测试在指定 vue 3.2.20-3.2.31版本是能够直接复现该bug。与element-plus版本无关。

目前排查不是element-plus组件的原因,是vue在综上提到的版本transtion组件存在问题,而ElMessage组件是用到了transition组件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值