2015-12-02 16 views
7

Tworzę spersonalizowany komponent dla mojego formularza.redux-form - Ustaw wartość pola za pomocą kodu?

Co chcę: po kliknięciu w określonym miejscu, w moim programie obsługi onClick, mogę ustawić odpowiednią wartość dla pola formularza.

Jak to zrobić?

Moje obecne rozwiązanie:

_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}) 
    } 
} 

to jeszcze nie działa .. ale nawet jeśli to działa, czuję, że to jest rodzaj włamać.

Jakieś lepsze rozwiązanie?

Uwaga: Ja też zadał to pytanie na stronie emisyjnej dla Redux formularza: https://github.com/erikras/redux-form/issues/369

+0

Głosuję, aby zamknąć to pytanie, ponieważ jest ono rozstrzygane. – songyy

+0

Głosuję, aby zamknąć to pytanie jako nie na temat, ponieważ zostało rozwiązane. – songyy

+0

Należy oznaczyć pytanie jako nie na temat, ponieważ zostało rozwiązane. Nie chodzi o to, jak powinno się używać "off-topic". To nie powinno być zamknięte. – Vadorequest

Odpowiedz

3

problem został rozwiązany. Okazuje się, że należy uczynić mój komponent zgodny z Redux-Form, odniesienia: http://erikras.github.io/redux-form/#/faq/custom-component?_k=qnjmi9

+0

Sugerowałbym zamknięcie tego problemu, jeśli jest * rozwiązany *. – jpierson

+1

@jpierson OK pewnie :) – songyy

+0

@jpierson Dostaję upvote i moja bliska prośba nie przepuściła. Myślę, że w celu odniesienia dla przyszłych programistów, po prostu zatrzymam to pytanie. (tak, i jestem świadomy, że istnieje przycisk "delete") – songyy

4

Redux Form 6

Wewnątrz elementu formularza za pomocą props

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

Poza składnikiem formy używając Action Creators

import { change } from 'redux-form' 

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

Awesome, that works! Dzięki! –

Powiązane problemy