如何修复
警告:在您使用
setFieldsValue
或getFieldDecorator
进行注册之前,无法使用getFieldProps
。
答案 0 :(得分:1)
来自文档https://ant.design/components/form/#this.props.form.getFieldDecorator(id,-options):
在由getFieldDecorator包装之后,将value(或由valuePropName定义的其他属性)onChange(或由触发器定义的其他属性)道具添加到表单控件,表单数据流将由Form [...] < / p>
因此,如果没有在getFieldDecorator
中注册表单字段,则不能使用setFieldsValue
。
您正在为表单内不存在的字段设置值。
首先,您必须使用getFieldDecorator
将字段注册到表单中,然后才能使用设置器。
也许getter风格的方法名称有点误导。
答案 1 :(得分:1)
我在使用React钩子时遇到了同样的问题。以下解决方案对我有效。
props.form.getFieldDecorator('Amount', { initialValue: 'My Value' })
我觉得原因是在首次渲染后initialValue不会改变,就像defaultValue一样。
答案 2 :(得分:0)
在setFieldsValue
之后使用componentDidMount
,或使用initialValue
选项。
答案 3 :(得分:0)
请在getFieldDecorator
setFieldsValue