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; }
。