猿问

提示You cannot set field before registering it.

在react中使用,ant design 中的form 表单,在处理后台返回的错误信息时,报出You cannot set field before registering it.错误,虽然意思容易理解,但是解决困难?希望遇见相同问题的大神指点迷津。其中用到this.props.form.setFields导致出现的问题。

凤凰求蛊
浏览 3766回答 2
2回答

饮歌长啸

this.props.form.setFields只能用在render之后的生命周期函数里,因为fields是在render函数里注册的

吃鸡游戏

render中的处理render()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;{getFieldProps}&nbsp;=&nbsp;this.props.form;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<List> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<InputItem&nbsp;{...getFieldProps('username')}/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<InputItem&nbsp;{...getFieldProps('password')}/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</List> &nbsp;&nbsp;&nbsp;&nbsp;); }不在render中的话一般在componentDidMount中手动设置this.props.form.setFieldsValue({username:'xxx', password:'xxx'})
随时随地看视频慕课网APP
我要回答