el-dialog自带有遮罩层,但在:modal=“true” :modal-append-to-body=“true” 等设置都没有效果的情况下,考虑自己加一个遮罩层吧
添加html,div里面可以添加文字或图片
<div v-if="showModal" class="mask">
<img class="loading-image" src="../../image/loading.gif" alt="正在处理,请等待。。。">
<!-- <span class="mask-text">处理中,请等待...</span> -->
</div>
设置css样式
.mask {
background-color: rgb(0, 0, 0);
opacity: 0.3;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1
}
在要展示的时候将showModal值设为true就行
在对话框打开的时候,如果遮罩层在对话框底下,f12看一下对话框自带的遮罩层的z-index值是多少:
步骤1.
2.这就是自带遮罩层的z-index值,所以手动添加的遮罩层z-index要大于2026,值越大的遮罩层在越上层
3.所以将mask样式的z-index改大
.mask {
background-color: rgb(0, 0, 0);
opacity: 0.3;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10000
}
这样就可以正常显示了,效果如下图
推荐一个很好可以自定义加载中的动图的网站https://loading.io/