Vue中關閉彈窗組件時銷毀并隱藏操作
背景:在dialog彈窗組件中執行mounted鉤子,將數據初始化,等取消關閉彈窗后,發現mounted鉤子不執行
原因:在vue的生命周期中,在頁面初始化的時候mounted只會執行一次,關閉彈窗頁面并沒有銷毀,所以不會再次執行
<select-experience-group :trialMoneyRecordID=trialMoneyRecordID :showExperienceGroup=’showExperienceGroup’ @closeCover='handleExperienceGroup'></select-experience-group>
解決辦法:就是隱藏dialog的時候要銷毀這個dialog。給dialog加v-if,在關閉dialog的時候將v-if設置為false這樣會直接將其從DOM結構中抹除,到此問題解決。
修改后代碼:
<select-experience-group :trialMoneyRecordID=trialMoneyRecordID :showExperienceGroup=’showExperienceGroup’ v-if='showExperienceGroup' //利用v-if對頁面進行銷毀@closeCover='handleExperienceGroup'></select-experience-group>
補充知識:vue element-ui Dialog對話框關閉后重新打開數據不清空
重置表單的方法
this.$refs[formRef].resetFields();
不是表單中的數據,也需要重置
this.$data = this.$options.data();
以上這篇Vue中關閉彈窗組件時銷毀并隱藏操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: