2017-06-21 17 views
1

私はいくつかの入力フィールドを持つモーダルを持っています。私は簡単しかし入力フィールド値をプログラムで入力してReact?

@observable categoryValue; 
@action handleCategoryChange = (e, data) => { 
    this.categoryValue = data.value; 
    e.preventDefault(); 
}; 

(irellevantただし、mobxストアを使用)..

<Input onChange={this.props.store.handleCategoryChange} type="text" /> 

として、入力フィールドにonChange関数を使用して、入力を入力するユーザに自動的にデータを渡すことができユーザーがアプリケーション内の他の場所に情報をあらかじめ入力できる機能を追加したいと考えています。入力フィールドをあらかじめ入力するデータがありますが、実際に入力するのではなく、プログラムで入力する方法はわかりません。

上記のhandleCategoryChange関数を呼び出す必要があります。しかし、私の変数はdata.valueと等しくなります。これは問題を提示します!自分自身で変数を渡すので、イベントedata.valueという値もないので、この関数を自分で呼び出すことはできません。

変数を使用してReactで入力フィールドを自動的にプログラムで自動的に入力する正しい方法は何ですか?私は何とかonChange機能を起動する必要がありますが、入力値が異なることになる。..

+0

要素input'制御用途 'このような' input'要素と '[値]プロパティを定義する:'たびに、その値を更新します.... '<入力値= {VARIABLE_NAME}自動的にその値が入力要素に入力されます。 '制御されたコンポーネント'の詳細については、ドキュメントをチェックしてください:https://facebook.github.io/react/docs/forms.html#controlled-components –

+0

基本的にnull変数を持っているので、必要に応じてプログラマチックに変更できます?それ以外の場合は、nullにしてユーザーが変更できるようにしますか? – cbll

+0

ちょうどそれを試しました - 魅力のように働きました、おかげで、私の店から 'categoryValue'を値にバインドするだけでした!ありがとう。 – cbll

答えて

0

使用controlled componentこのような状況のため、このようなinput elementvalueプロパティ定義:あなたはその変数を更新するたび

<Input value={variable_name} .... 

を自動的にその値が入力要素に取り込まれます。

variable_nameに値を割り当てて、デフォルト値を入力すると、ユーザーはその値をonChange関数で更新できます。 DOC 1として

値がこのよう で反応することによって制御される「制御要素」と呼ばれる入力フォーム要素。

1

制御されたコンポーネントを使用してその値を渡すことができます。

<input type="text" value{this.state.value} 
     onChange={()=> {this.setState({value:e.target.value })}} 
1
<input type="text" value{this.state.value} onChange={(e) => {this.setState({value:e.target.value })}/> 
関連する問題