vue: 报错: vue ResizeObserver loop completed with undelivered notifications.

一,报错信息:

vue ResizeObserver loop completed with undelivered notifications.

如图:我没有专门截图,转一张别人发的

 image

二,原因

ResizeObserver 警告解释
这条警告源于 ResizeObserver 的实现机制。它表示监听了 DOM 尺寸变化后,在当前帧处理通知时,可能造成无限循环或未能及时处理完所有变化。

常见触发场景包括:

使用了 <a-table> 且设置了 scroll 属性;

页面频繁触发 resize;

某些组件内部使用了 ResizeObserver(如图表、布局组件); 

三,解决:

App.vue/main.js中加入以下这段代码即可解决:
其中:app.vue写在script里面  
      main.js写在app挂载完之后

代码:

// app.vue写在script里面  main.js写在app挂载完之后
const debounce = (fn, delay) => {
  let timer
   return (...args) => {
     if (timer) {
       clearTimeout(timer)
     }
     timer = setTimeout(() => {
       fn(...args)
     }, delay)
   }
}
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver{
   constructor(callback) {
     callback = debounce(callback, 200);
     super(callback);
   }
}

 

posted @ 2025-10-05 11:23  刘宏缔的架构森林  阅读(303)  评论(0)    收藏  举报