elementplus 发布出现ResizeObserver loop completed with undelivered notifications.
时间: 2023-11-14 14:08:17 浏览: 69
这个错误通常是由于使用了 ResizeObserver API 导致的,它会在元素大小发生变化时触发回调函数,但是如果在回调函数中修改了元素的大小,就会导致循环调用,最终抛出该错误。
解决方法是在回调函数中避免修改元素的大小,或者使用 debounce 或 throttle 函数来限制回调函数的执行频率。
相关问题
ResizeObserver loop completed with undelivered notifications.
"ResizeObserver loop completed with undelivered notifications." 是一个错误事件的消息。 它表示在 ResizeObserver 循环中有未传递的通知。这个错误通常是由于某些元素的大小发生了变化,但这些变化没有被正确地传递给观察者而导致的。
要报告这个错误,可以按照以下步骤执行:首先,遍历所有的观察者,在每个观察者的 skippedTargets 列表不为空的情况下返回 true,否则返回 false。 skippedTargets 是一个 ResizeObservations 的列表,它表示自上次广播观察结果以来大小发生了变化,但不符合广播条件的所有元素。
所以,当出现 "ResizeObserver loop completed with undelivered notifications." 这个错误时,意味着在 ResizeObserver 循环中有未传递的通知,可能是由于某些元素的大小变化未被正确传递给观察者导致的。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
vue2 resizeobserver loop completed with undelivered notifications.
根据提供的引用内容,解决"vue2 resizeobserver loop completed with undelivered notifications"错误的方法如下:
1. 使用防抖函数:
```javascript
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);
}
}
```
2. 重写ResizeObserver类:
```javascript
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
constructor(callback) {
callback = debounce(callback, 16);
super(callback);
}
}
```
3. 在需要使用ResizeObserver的地方添加show-overflow-tooltip属性:
```html
<el-table-column prop="title" label="标题" min-width="100" show-overflow-tooltip />
```
这些方法可以解决"vue2 resizeobserver loop completed with undelivered notifications"错误。