vue element 添加遮罩层

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="正在处理,请等待。。。">
      
    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.
vue element 添加遮罩层_第1张图片
2.这就是自带遮罩层的z-index值,所以手动添加的遮罩层z-index要大于2026,值越大的遮罩层在越上层
vue element 添加遮罩层_第2张图片
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
}

这样就可以正常显示了,效果如下图
vue element 添加遮罩层_第3张图片
推荐一个很好可以自定义加载中的动图的网站https://loading.io/

你可能感兴趣的:(element,vue)