ElementUI校验[Violation] Added non-passive event listener to a scroll-blocking ‘touchmove‘ event. 问题解决
这个错误是浏览器中的一个性能警告,它发生在使用ElementUI时,通常是因为你在某个元素上添加了事件监听器,而这个事件监听器用于处理滚动事件,但是没有被标记为passive(无阻作用)。
在现代浏览器中,特别是Chrome,为了提高滚动性能,引入了passive event listeners的概念。当你的代码中为touchstart
、touchmove
、wheel
、mousewheel
等会引起滚动的事件添加事件监听器时,如果这些事件监听器不会调用preventDefault()
,你应该将passive
选项设置为true
,以允许浏览器优化滚动性能。
解决这个警告的方法是,在你的代码中找到添加事件监听器的部分,并且确保对于滚动相关的事件,你添加了{ passive: true }
选项。例如,如果你的代码类似于:
document.addEventListener('scroll', handleScroll, false);
你可以修改为:
document.addEventListener('scroll', handleScroll, { passive: true });
这样做可以让浏览器知道你的事件监听器不会调用preventDefault()
,从而允许它进行更优化的滚动处理。
评论已关闭