template

<el-button type="text" @click="dialogVisible = true">点击打开 Dialog</el-button>

    <el-dialog
      title="提示"
      :visible.sync="dialogVisible"
      width="80%"
    :append-to-body="true"
    :before-close="handleClose"
      :close-on-click-modal="false">
      <span>这是一段信息</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
      </span>
    </el-dialog>

data

dialogVisible:false,

methods

closeShadow(){
      this.dialogVisible=false;
    },
    handleClose(done) {
      this.$confirm('确认关闭?')
        .then(_ => {
          done();
        })
        .catch(_ => {});
    }

 

close-on-click-modal:是否可以通过点击 modal 关闭 Dialog  默认值为true

 

更多api参照官网:https://element.eleme.cn/#/zh-CN/component/quickstart

另外上面有一个属性还比较有用:

:modal-append-to-body='true'  是否将遮罩层添加在body元素里,如果为false就是插在el-dialog的父级元素里,

那么当我们遇到,弹窗里有弹窗,而且里面的弹窗没有遮罩层的z-index属性大时,就会出现里面弹层内的内容被遮罩层挡住的问题,如果我们让遮罩层加在body上,有点不好控制z-index属性,如果让加在el-dialog的父元素里,我们在当前组件就可以控制这一个遮罩成的z-index属性,

.thisDialog{
    z-index:200 !important;
}
.app-container >>> .v-modal{
    z-index:199 !important;
}