表单重置(避免数据残留)

当表单验证失败且对话框关闭后,错误信息仍保留,影响用户体验。本文探讨两种解决方法:一是使用`v-if`控制表单组件的显示,二是通过父组件引用子组件的重置方法。在关闭弹框的回调事件中,调用子组件的重置表单方法,确保再次打开时表单为初始状态。

当验证不通过时,表单上会出现错误报错,此时,我们直接隐藏这个对话框,然后再次打开时, 表单上的错误信息还是存在的。

对话框隐藏包括(点了表单上的:取消,确定,点了弹层中右上角的关闭,点了ESC,点了罩区域)如果再点击添加 那么之前输入的数据会残留在新的表单中 

我们需要的效果是第二次打开时是一个重新的表单 不是旧的错误表单

第一种方法: 就是在表单子组件中设置 v-if ()

<el-dialog :visiable="showDialog">
   <子组件 v-if="showDialog" / >
</el-dialog>

第二种方法: 由于每一次打开弹框组件 , 那么弹框在这之前一定会触发  close 事件 因为弹框是在父组件中,而表单是在子组件中 ,所以我们需要现在子组件中给表单封装一个方法来重置表单,然后通过父组件中 ref 获取DOM元素的方法来操作子组件(表单组件) 并且调用子组件中的重置表单的方法

 第一步: 在表单组件中封装重置表单的方法

第二部: 在父组件中给弹框组件绑定 close(关闭的回调事件)

 第三步,在父组件中弹框关闭的回调事件中通过ref来操作表单组件的重置表单的方法

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值