当element ui el-dialog弹窗有缓存,每次打开弹窗的时候会出问题。如下是解决方案!!!
如下是解决方案。用el-dialog 里面有一个destroy-on-close(关闭时销毁 Dialog 中的元素)这个完全没用。其实很简单。只需要在 el-dialog 外层加一层div 然后在 div 上写上 v-if="dialogVisible"就行了。
<template>
<div v-if="dialogVisible">//加一层div 就可以了写上 v-if
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose">
<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>
</div>
</template>
或者!!
<template>
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%"
v-if="dialogVisible"// 非常有用,解决了很多问题
:before-close="handleClose">
<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>
</template>
以上完美解决,有时候为了复用一般会封装成组件,当多次调用的时候会出现缓存的情况。就可以用上面的方法,亲测有效!!!!!!!!!!!!