Vue中關(guān)閉彈窗組件時(shí)銷(xiāo)毀并隱藏操作
背景:在dialog彈窗組件中執(zhí)行mounted鉤子,將數(shù)據(jù)初始化,等取消關(guān)閉彈窗后,發(fā)現(xiàn)mounted鉤子不執(zhí)行
原因:在vue的生命周期中,在頁(yè)面初始化的時(shí)候mounted只會(huì)執(zhí)行一次,關(guān)閉彈窗頁(yè)面并沒(méi)有銷(xiāo)毀,所以不會(huì)再次執(zhí)行
<select-experience-group :trialMoneyRecordID=trialMoneyRecordID :showExperienceGroup=’showExperienceGroup’ @closeCover='handleExperienceGroup'></select-experience-group>
解決辦法:就是隱藏dialog的時(shí)候要銷(xiāo)毀這個(gè)dialog。給dialog加v-if,在關(guān)閉dialog的時(shí)候?qū)-if設(shè)置為false這樣會(huì)直接將其從DOM結(jié)構(gòu)中抹除,到此問(wèn)題解決。
修改后代碼:
<select-experience-group :trialMoneyRecordID=trialMoneyRecordID :showExperienceGroup=’showExperienceGroup’ v-if='showExperienceGroup' //利用v-if對(duì)頁(yè)面進(jìn)行銷(xiāo)毀@closeCover='handleExperienceGroup'></select-experience-group>
補(bǔ)充知識(shí):vue element-ui Dialog對(duì)話框關(guān)閉后重新打開(kāi)數(shù)據(jù)不清空
重置表單的方法
this.$refs[formRef].resetFields();
不是表單中的數(shù)據(jù),也需要重置
this.$data = this.$options.data();
以上這篇Vue中關(guān)閉彈窗組件時(shí)銷(xiāo)毀并隱藏操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)2. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解3. 基于PHP做個(gè)圖片防盜鏈4. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車(chē)輛管理系統(tǒng)5. Jsp servlet驗(yàn)證碼工具類分享6. XML在語(yǔ)音合成中的應(yīng)用7. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫(xiě)金額)的函數(shù)8. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁(yè)9. Jsp+Servlet實(shí)現(xiàn)文件上傳下載 文件列表展示(二)10. jscript與vbscript 操作XML元素屬性的代碼
