vue3+element-plus写大屏时遇到的一个问题,el-image组件添加了图片预览功能,但是大屏全屏之后点击预览的时候看不到图片,退出全屏后能正常显示
普通系统页面为防止预览的遮罩层没有覆盖页面所有内容,所以添加这个属性,也就是将遮罩层放到body标签中。但大屏中我们全屏的一般都是指定的标签,全屏之后这个标签就会覆盖body标签,自然就导致图片预览的图片被我们全屏的标签覆盖,解决办法就是去掉这个属性即可
另外大屏中因为很多地方都有图片预览功能,但并不是每个地方都用的el-image组件,也有点击按钮预览图片的,所以我单独使用了el-image-viewer组件,并把它放到要全屏的标签中
<div id="fullscreen">
<el-image-viewer
v-if="show.viewPerviewDialog"
:url-list="pageData.viewPerviewImg"
hide-on-click-modal
close-on-press-escape
@close="show.viewPerviewDialog = false"
:z-index="9999"
class="imgviewer"
/>
</div>
'#fullscreen'即是我们要全屏的标签,使用v-if控制显隐,z-index为了防止被覆盖,teleported这个属性一样是插入body标签中,一样不能给。el-image-viewer标签放到全屏的标签外面一样会导致全屏后无法显示预览图片