我有一个表单的react-bootstrap类。代码是这样的:
class MyReactClass extends Component {
// ....
render() {
return (
<div>
<Field name="combobox1" component={ComboBox} options={options} ></Field>
<Field name="textField2" component={My_TextField}></Field>
<Field name="textField3" component={My_TextField}></Field>
<Field name="textField4" component={My_TextField}></Field>
</div>
}
}
export default reduxForm({
form: 'myReactClass ',
}
)(MyReactClass );
我添加了一个初始化来初始化一些值:
componentDidMount() {
this.props.initialize({textField2:'blabla'});
}
现在我希望当用户从组合框中选择一个值时,它会自动更改textfield3的值。我有一个用于组合框的WORKING onChange函数,但我找不到改变textfield3值的方法。我试图再次使用“初始化” - this.props.initialize({textField3:this.getUpdatedValue()}); 但它初始化整个表单,表单被清除,只有textfield3的值。
我尝试访问this.props.textField3
,但我得到undefined
。
如何更新表单的值?
答案 0 :(得分:1)
this.props.change('textField3', this.getUpdatedValue())
可行。
或者,如果您需要用户了解该值已自动填充但可以手动更改,则可以使用:
this.props.autofill('textField3', this.getUpdatedValue())
这些内容在文档here中进行了描述。