在redux表单上更新一个值

时间:2016-12-11 07:56:10

标签: react-redux react-bootstrap redux-form

我有一个表单的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

如何更新表单的值?

1 个答案:

答案 0 :(得分:1)

this.props.change('textField3', this.getUpdatedValue())可行。

或者,如果您需要用户了解该值已自动填充但可以手动更改,则可以使用:

this.props.autofill('textField3', this.getUpdatedValue())

这些内容在文档here中进行了描述。