一,报错信息:
vue ResizeObserver loop completed with undelivered notifications.
如图:我没有专门截图,转一张别人发的
二,原因
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 timerreturn (...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);}
}