2015-12-02 9 views
7

私は自分のフォームのカスタマイズされたコンポーネントを作成しています。redux-form - コードでフィールドの値を設定しますか?

必要なもの:特定の場所をクリックすると、onClickハンドラでフォームフィールドに対応する値を設定できます。

どうすればよいですか?

私の現在のソリューション:

_onClick(value, evt) { 
    const {field, dispatch} = this.props 
    if(dispatch){ 
    dispatch({type: "redux-form/CHANGE", field: field.name, value: value, touch: false, form: field.form}) 
    } 
} 

が、それはまだ動作しません..しかし、それが動作しても、私はこれは一種のハッキングさを感じます。

もっと良い解決策はありますか?

注:私もReduxの、フォームの発行ページにこの質問をした:https://github.com/erikras/redux-form/issues/369

+0

この問題は解決されたため、この問題を閉じることにしました。 – songyy

+0

私はこれを閉じるために投票していますそれが解決されたので、トピックから離れた質問をします。 – songyy

+0

質問が解決されたため、質問にはオフトピックとしてタグを付ける必要があります。それは「オフトピック」が使われるべきではない。これは閉じてはいけません。 – Vadorequest

答えて

3

問題は解決しました。それは私がReduxのフォーム、参照して私の部品は互換性を持たせる必要があることが判明:http://erikras.github.io/redux-form/#/faq/custom-component?_k=qnjmi9

+0

*解決したらこの問題を解決することをお勧めします。 – jpierson

+1

@jpierson確かめてください:) – songyy

+0

@jpierson私はupvoteを取得しています。私は将来の開発者のためのリファレンスの目的のために、私はちょうど質問を維持すると思います。 (はい、私は「削除」ボタンがあることを知っています) – songyy

4

Reduxの様式6

Action Creators

を使用してフォームコンポーネント外 props

this.props.change('field_name', 'value') 

を使用して、フォーム・コンポーネント内部

import { change } from 'redux-form' 

dispatch(change('form_name', 'field_name', 'value')) 
+0

素晴らしいですね!ありがとう! –

関連する問題