vue3 ts项目中 element-plus 报错 ResizeObserver loop limit exceeded 解决
时间: 2023-08-18 11:05:50 浏览: 307
通常,当使用Element Plus的Table组件时,报错"ResizeObserver loop limit exceeded"是由于ResizeObserver被触发了过多的次数而导致的。这个问题可以通过对ResizeObserver进行优化来解决。
根据提供的引用内容,可以尝试在代码中添加一个函数debounce来减少ResizeObserver的触发次数。这个函数会延迟执行回调函数,以确保在短时间内多次触发ResizeObserver时,只有最后一次触发会被执行。
你可以将下面这段代码添加到你的app.vue或者main.js中:
```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);
}
}
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver{
constructor(callback) {
callback = debounce(callback, 16);
super(callback);
}
}
```
这段代码会对ResizeObserver进行封装,使用debounce函数对回调函数进行了延迟执行。这样就可以减少ResizeObserver的触发次数,避免"ResizeObserver loop limit exceeded"报错的出现。
希望这个解决方案能够帮助到你。如果问题仍然存在,请提供更多的信息,以便我可以提供更准确的解答。
阅读全文