vue3: 报错ResizeObserver loop completed with undelivered notifications.解决方法

错误提示:

组件重新绘制大小时dev环境出现报错提示,如在VUE3中使用ant-design-vue表格自适应窗口大小时webpack会报错。

常用解决方案有重写ResizeObserver或者时间间隔内限制执行方式,可以设置屏蔽方式跳过提示。

解决办法:

修改配置vue.config,在module.exports中增加

devServer: {
      
        client: {
            overlay: false
        },
},

重新运行后就不会有提示了

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue3中使用anrd表格报错"ResizeObserver loop completed with undelivered notifications"是由于ResizeObserver循环触发导致的。这个错误通常发生在表格组件中,当表格的大小发生变化时,ResizeObserver会不断触发回调函数,但是由于某些原因导致回调函数无法及时处理完毕,从而引发了这个错误。 解决这个问题的方法是使用防抖函数对ResizeObserver的回调函数进行包装。防抖函数可以延迟回调函数的执行,确保在一段时间内只执行一次。这样可以避免回调函数被频繁触发,从而解决了"ResizeObserver loop completed with undelivered notifications"错误。 以下是一个示例代码,演示了如何在vue3中使用防抖函数解决这个问题: ```javascript // 在main.js中引入防抖函数 import { createApp } from 'vue' import App from './App.vue' const app = createApp(App) // 在app.vue中使用防抖函数包装ResizeObserver的回调函数 const debounce = (fn, delay) => { let timer = null; return function () { let context = this; let args = arguments; clearTimeout(timer); timer = setTimeout(function () { fn.apply(context, args); }, delay); } } const _ResizeObserver = window.ResizeObserver; window.ResizeObserver = class ResizeObserver extends _ResizeObserver { constructor(callback) { callback = debounce(callback, 16); super(callback); } } app.mount('#app') ``` 通过以上代码,我们将ResizeObserver的回调函数使用防抖函数进行包装,延迟执行时间设置为16毫秒。这样就能够解决"ResizeObserver loop completed with undelivered notifications"错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值