vue表单验证通过后数据被重置

RT,遇到一个奇葩问题,找不到故障在哪里了,遂求助dalao...下面上图

1:这是界面
1.png

首先描述一下问题:这个表单验证在输入不规范的时候提交是可以被触发的,可是在加上验证之后提交,表单内编辑完的数据就会变成编辑前的样子,最终导致修改不了;但如果跳过验证,填好表单直接提交就莫得问题。。辛苦dalao看下我这漏洞百出的代码吧。。。

2:这是弹框打开的方法和验证方法,表单数据保存在 this.changeData
233.png
332.png

3:这个是验证规则,只是验证必填
yz规则.png

阅读 3.7k
2 个回答

this.resetForm('changeData') 应该写到提交方法的then()里面去,提交成功后才this.resetForm('changeData')

新手上路,请多包涵

updateCompany 函数 是否有使用 Object.assign?如果没有使用,则略过此回答,并提供更多的代码

如果是的话,那么此处 this.changeData被this.getData部分属性覆盖了。所以出现了你的状况

而console在打印的时候,在指向一个地址引用的变量时,显示的是这个变量在内存中最新的状态。而此时的状态在后面被替换掉了。
所以建议你debuge的时候使用debugger断点查看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题