element UI组件中el-image的图片预览页面滚动条未被覆盖

1,522 阅读1分钟

问题描述:

最近在使用el-image组件的时候遇到了一个问题,就是点击图片的预览,页面上的滚动条没有消失,这就意味着图片预览能通过滚轮放大缩小,这一事件与页面滚轮滑动事件发生冲突,可能是组件和vue-element-admin框架发生了兼容性问题

image.png

我们都知道滚动条是通过overflow:auto这一样式实现的,并且我在自己新文件中试了以下el-image的预览效果,组件点击预览时会给body添加overflow:hidden的样式

image.png

但是,现在框架中使用的时候是没有添加的

image.png 而这就可能是兼容性问题了

解决方法:

1、通过点击图片给body添加overflow:hidden的样式关闭页面的滑动;

2、给遮罩层中的关闭按钮添加点击事件,再给body去除次样式

注意:给图片添加点击事件的时候一定要添加.native,因为我们是给组件绑定原生事件,不加.native原生事件是触发不了的

image.png

通过开发者工具获取遮罩层中关闭图标的class名称

image.png

最后编写点击事件

image.png

这样就ok啦

image.png