element ui 弹出组件的遮罩层在弹出层的上面

lement ui 弹出组件的遮罩层在弹出层的上面

<el-button size="small" @click="dialogFormVisible = true">充值</el-button>
<el-dialog title="收货地址" :visible.sync="dialogFormVisible">
    <el-form :model="form">
        <el-form-item label="活动名称" :label-width="formLabelWidth">
              <el-input v-model="form.name" auto-complete="off"></el-input>
        </el-form-item>
    </el-form>
    <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
    </div>
</el-dialog>

图片描述

阅读 55.2k
9 个回答

上面的答案里有使用 :modal-append-to-body="false" 的方法,但是有时候会存在页面某些元素没有被 modal 盖上的情况,其实这种情况出现的原因就是你的dialog 是放在当前组件中的,如果放body 下则不会有这些情况,所以在 el-dialog 上添加 :append-to-body="true" 具体可以看官方文档中的 attributes http://element-cn.eleme.io/#/...

<el-dialog title="收货地址" :visible.sync="dialogFormVisible" :modal-append-to-body="false">
添加 :modal-append-to-body="false"

新手上路,请多包涵

在el-dialog 加上 :modal="false"

修改下css就行了,让modal-dropback的z-index低于modal

去掉遮罩的方法:

<style>
    .v-modal {
        z-index: 0 !important;
    }
</style>
新手上路,请多包涵

我刚刚也出现了同样的问题,原因是在祖父元素上添加了

webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);

不知道题主是什么原因导致的。。。

解决了吗?题主,我也碰到这个问题。遮罩层的z-index比对话框的z-index要高。不知怎么解决。modal设置成false,也取消不了遮罩哇

请问解决了吗?

新手上路,请多包涵

在 el-dialog 标签里添加下面两行代码的任意一行:

 :modal-append-to-body='false'
     或
 :append-to-body='true'
 
 

主要是el-dialog 父元素 设置了 position属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题