2016-12-11 16 views
1

私はフォームの反応ブートストラップクラスを持っています。コードはそのようなものです:還元型の値を更新する

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の値。私はコンボボックスのために働くonChange関数を持っていますが、私はtextfield3の値を変更する方法を見つけることができません。私は再び "初期化"を使用しようとしました - this.props.initialize({textField3:this.getUpdatedValue()}); しかし、フォーム全体を初期化し、フォームはクリアされ、textfield3の値のみを持ちます。

this.props.textField3にアクセスしようとしましたが、undefinedになりました。

フォームの値を更新するにはどうすればよいですか?

答えて

1

this.props.change('textField3', this.getUpdatedValue())となります。あなたは値が自動入力されましたが、手動で変更することができることを理解して、ユーザーが必要な場合は

必要に応じて、あなたが使用することができます。これらはドキュメントhereに記述されている

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

+0

この場合、自動入力と変更の違いは何ですか?ユーザーは手動で値を変更できることをどのように理解していますか? – TamarG

関連する問題