el-dialog弹窗关闭时,清除弹窗中的表单验证样式

如何清除el-dialog中的表单验证

el-dialog 模态框中有个 el-form 表单子组件,每次新增和编辑都会使用该组件,如果不做处理,会遗留表单验证效果,再次打开 Dialog 模态框的时候,表单中还残留着上一次表单验证的效果,模拟:

  1. 在第一次新增时,不填写数据,表单验证效果出现;
  2. 当点击取消或者点击左上角×号后,再次进行新增或修改操作,弹窗中表单会出现上一此的验证效果
    对某一数据点击修改是出现

解决方案:

在el-dialog弹窗中加一个 v-if,,其中条件和弹窗的visible.sync的条件相同,如图:


<el-dialog :title="packageAbout" v-if="packageAboutVisible" :visible.sync="packageAboutVisible">

![具体解决方法](https://img-blog.csdnimg.cn/20191128171609181.png)
## 具体原因:
v-if切换有一个**局部编译/卸载**的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;
v-if在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载);
当关闭弹窗后,v-if的条件变为false,页面会局部卸载弹窗,清空其中的数据,自然也就清空了表单验证的样式

It ends here!!谢谢
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值