如何解決Element UI el-dialog打開(kāi)一次后無(wú)法再次打開(kāi)問(wèn)題
Element UI el-dialog打開(kāi)一次后無(wú)法再次打開(kāi)
APP.vue
<template>
<div>
我是子組件
<el-button type="primary" size="mini" @click="openA">打開(kāi)ADialog</el-button>
<ADialog :avisible="visible" :key="key">
</ADialog>
</div>
</template>
<script>
import ADialog from '@/components/ADialog'
export default {
data() {
return {
visible:false,
key:Math.random(100)*100
};
},
components:{
ADialog
},
methods:{
openA(){
this.key = this.key +1
this.visible = true
}
}
}
</script>
<style>
</style>ADialog.vue
<template>
<div v-if="visable">
<el-dialog
title="我是Adialog"
:visible.sync="visable"
width="30%"
@close="handlerClose"
>
<span>我要打開(kāi)B了</span>
<el-button type="primary" size="default" @click="openB"
>打開(kāi)Bdialog</el-button
>
<span slot="footer">
<el-button @click="visable = false">Cancel</el-button>
<el-button type="primary" @click="handlerOK">OK</el-button>
</span>
</el-dialog>
<BDialog :bvisable="bvisable" :key="key"></BDialog>
</div>
</template>
<script>
import BDialog from "@/components/BDialog";
export default {
props: ["avisible"],
data() {
return {
visable: this.avisible,
bvisable: false,
key:Math.random(100)*100
};
},
components: { BDialog },
methods: {
handlerClose() {
this.visable = false;
},
handlerOK() {
this.visable = false;
},
openB(){
this.key = this.key+1
this.bvisable = true
this.$forceUpdate()
}
},
};
</script>
<style>
</style>BDialog.vue
<template>
<div v-if="visiable">
<el-dialog
title="我是Bdialog"
:visible.sync="visiable"
width="20%"
@close="handlerClose">
<span></span>
<span slot="footer">
<el-button @click="visiable = false">Cancel</el-button>
<el-button @click="ok">OK</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
props:[
"bvisable"
],
data() {
return {
visiable: this.bvisable,
};
},
methods:{
handlerClose(){
this.visiable = false
},
ok(){
this.visiable = false
}
}
}
</script>
<style>
</style>在引用子組件的過(guò)程中加上:key就是給每一個(gè)vnode的唯一id,新的dialog就可以展示出來(lái)
父組件dialog中加上

子組件的dialog中加上

子組件調(diào)用的過(guò)程中加上:key

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue?perfect-scrollbar(特定框架里使用非該框架定制庫(kù)/插件)
這篇文章主要為大家介紹了vue?perfect-scrollbar在特定框架里使用一款并非為該框架定制的庫(kù)/插件如何實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-05-05
Vue3滑動(dòng)到最右驗(yàn)證功能實(shí)現(xiàn)
在登錄頁(yè)面需要啟動(dòng)向右滑塊驗(yàn)證功能,遇到這樣的需求怎么實(shí)現(xiàn)呢,下面小編通過(guò)示例代碼給大家分享Vue3滑動(dòng)到最右驗(yàn)證功能實(shí)現(xiàn),感興趣的朋友一起看看吧2024-06-06
Vue中使用 Echarts5.0 遇到的一些問(wèn)題(vue-cli 下開(kāi)發(fā))
這篇文章主要介紹了Vue中使用 Echarts5.0 遇到的一些問(wèn)題(vue-cli 下開(kāi)發(fā)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
詳解Vue Elementui中的Tag與頁(yè)面其它元素相互交互的兩三事
這篇文章主要介紹了詳解Vue Elementui中的Tag與頁(yè)面其它元素相互交互的兩三事,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue之如何配置默認(rèn)顯示頁(yè)面和默認(rèn)路由
這篇文章主要介紹了vue之如何配置默認(rèn)顯示頁(yè)面和默認(rèn)路由問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06

