解决思路就是:
-
保存 state_copy = state. 2 state赋值后 重新挂载。但是出现的问题就是页面上 保留了残值,没有刷新。
- 或者就是案件直接调用api,然后一次调用8个api全部清空。
第一种失败的原因:
-
一种是,state_copy需要深拷贝,浅拷贝 , 导致state_copy会随着state改变。
-
还有一种可能,是不是cookies需要重新刷下一下。
第一种解决办法:
- 一个一个赋值value赋值。
- 写一个是深拷贝。
- 深拷贝的方法:
-
安装lodash库:方法: https://www.cnblogs.com/onlywu/p/14154198.html 库: https://javasoho.com/
- 手动实现深拷贝:https://www.jianshu.com/p/f4329eb1bace
-
- 深拷贝的方法:
https://segmentfault.com/q/1010000018054920
数组的深拷贝和对象的深拷贝 https://blog.csdn.net/qq_41451058/article/details/108259211
第二种的方法:
https://www.imooc.com/wenda/detail/531748
https://www.cnblogs.com/changyuqing/p/13685895.html
ant design table组件onBlur,onChange,onPressEnter事件,在编辑状态下一个字段改变另外字段根据数据库中对应的响应随之改变的方法
本例是以onBlur事件为例的,当失去焦点后携带参数访问后端获取相应的响应,然后处理。
Input , onPressEnter 和 onChange 的区别
OnClick:点击该控件时触发
onblur:控件在失去焦点的时候触发 (是不管值有无改变,失去焦点就触发事件)
onChange 输入内容的回调 (是指控件的值发生改变且失去焦点时触发的事件)
onPressEnter 按下回车的回调
oninput 只要输入框内容发生变化即可触发
OnKeyUp:在控件有焦点的情况下,释放键时发生(只要输入框内容发生变化即可触发,但是无法检测复制粘贴)
OnKeyDown:在控件有焦点的情况下,按下键时发生
OnKeyPress:在控件有焦点的情况下,按下键时发生
键事件按下列顺序发生;
1.KeyDown
2.KeyPress
3.KeyUp
非字符键不会引发KeyPress,但是非字符键可以引发KeyDown,KeyUp
OnMouseEnter:当鼠标指针进入控件时发生
OnMouseDown:当鼠标指针在控件上,按下鼠标键时发生
OnMouseUp:当鼠标指针在控件上,释放鼠标键时发生