2016-12-11 1 views
1

У меня есть класс реакции-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'}); 
    } 

Теперь я хочу, чтобы, когда пользователь выбирает значение из выпадающего списка, он будет автоматически изменить значение текстового поля3. У меня есть функция WORKING onChange для combobox, но я не могу найти способ изменить значение textfield3. Я попытался снова использовать «initialize» - this.props.initialize ({textField3: this.getUpdatedValue()}); , но он инициализирует всю форму и форма очищается и имеет только значение для textfield3.

Я попытался получить доступ к this.props.textField3, но получил undefined.

Как обновить значение формы?

ответ

1

this.props.change('textField3', this.getUpdatedValue()) будет работать.

Необязательно, если вам нужна пользователю понять, что значение было autofilled, но может быть изменен вручную, вы можете использовать:

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

Они описаны в документации here.

+0

В чем разница между автозаполнением и изменением в этом случае? Как пользователь понимает, что он может вручную изменить значение? – TamarG

Смежные вопросы