react 注册失败组件刷洗,表单的信息得重新填写。

我用ant-design写的登录页面,图片上传不上来,我描述描述,

注册页面是在登录页面的基础上弹出的一个modal,注册成功的效果是modal消失,提示用户注册成功,但注册失败时modal刷新了一下,用户填的表单信息都没有了,我希望用户注册失败后modal不消失,用户在先前输入的基础上进行修改

阅读 3.1k
3 个回答

页面刷新是人为控制的,两种情况:

1. 弹框中的信息是通过表单提交,onSubmit提交后页面会刷新

2. 利用ajax提交数据,ajax返回后人为刷新了页面

对于1情况,改为ajax提交
对于2情况,ajax返回成功才刷新,返回失败的话,只提示错误信息,不做组件状态的修改就行

modal 的 visible 属性控制其弹出还是消失,onOk 和 onCancel 分别对应绑定的确认和取消按钮触发的事件。

思路如下:点击注册按钮,visible 设为 true 弹出 modal 组件,用户填写其中的内容随后点击确认按钮触发 onOk 绑定的事件,在此事件内与判断用户注册是否完成,若失败,则停留在此,只有成功了再去设置 visible 为 false 即 modal 组件消失。 visible 和 modal 内填充的数据均绑定 state 即可。

你把用户输入的数据深度拷贝一份,刷完以后这个时候因为数据是深度拷贝的不会受到外部干扰,把这份数据重新渲染一下。

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