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中关闭弹窗组件时销毁并隐藏操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue中传递自定义参数到后端、后端获取数据并使用Map接收参数
有些传递的参数是直接拼接到URL地址栏中的、但是为了统一管理、不能将传递的参数直接拼接到地址栏中,接下来通过本文给大家介绍Vue中传递自定义参数到后端、后端获取数据并使用Map接收参数,感兴趣的朋友一起看看吧2022-10-10element组件中自定义组件的样式不生效问题(vue scoped scss无效)
这篇文章主要介绍了解决element组件中自定义组件的样式不生效问题(vue scoped scss无效),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-09-09
最新评论