解决elementUI el-form resetFields()方法重置表单无效

在Vue开发中,resetFields()方法用于重置表单字段,但当从编辑状态切换到新增时可能会遇到失效问题。原因在于resetFields()重置的是初始值,而非清空数据。解决方法是在编辑完成后先清空表单数据,再调用resetFields(),确保新增时表单为空。此问题涉及到前端表单管理与数据状态控制的关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:
表单操作中resetFields()方法在编辑后再次新增操作时失效。
在开发过程中新增和编辑功能往往使用一个el-form,在新增完成时,执行 resetFields()方法(即:this.$refs[formName].resetFields();),这样再次打开页面时,不会保留原来的数据,但是先给form赋值执行编辑操作,完成时执行resetFields()方法,再次打开进行新增时,会发现数据依然存在,感觉像是resetFields()方法没有起作用。

原因:
el-form提供的resetField()方法不是将表单重置为空,而是将其重置为初始值。先执行编辑,其初始状态就是有值的,所以在编辑成功后执行的resetField()方法就是有值的,这样导致编辑成功后再次打开新增,el-form就不是空表单。

解决方法:
在执行编辑成功后对表单的数据进行清空操作,然后再执行resetField()方法。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值