大家好啊,今天写表单发现我直接赋值对象
导致初始化校验必填校验成功以及validator校验有误的问题
我的其企业名称 在初始化的时候 竟然都校验了 并且看起来像校验成功
我在点击下一步的时候validator的时候,竟然也是校验成功,也不提示必填的错误
最后检查我代码一步一步调试:
发现是初始化赋值这里有问题,去掉他后就正常了
然后发现 因为我的dataForm是对象 datainfo 也是对象
这样直接赋值是有问题的,会直接改变dataForm原对象的地址
解决方案:
可以用Object.assign浅拷贝
可以遍历对象属性,去分别赋值
哎 说多了都是泪水,还是基础没有牢固,都是写的bug
参考原文:
js对象赋值问题(对象赋值影响原对象、对象赋值后原对象值随之变化)_js 对象赋值_我总是词不达意的博客-CSDN博客
js 遍历对象属性,赋值/添加进另一个对象中_Yakiraaa的博客-CSDN博客_js对象添加另一个对象
js对象的直接赋值、浅拷贝与深拷贝_小菜鸟在路上飞的博客-CSDN博客
js的直接赋值导致在循环中赋值失败的问题_小僵尸打字员的博客-CSDN博客_js嵌套循环赋值错误