Создать выбор входного значения с возможностью заполнить себя в React - PullRequest
1 голос
/ 28 апреля 2020

Мне нужно сделать поле ввода с возможностью добавить невыбранное имя. Я создал дополнительное поле для этого: поэтому, когда пользователь выбирает «другие» из списка, появляется новое поле.

Но проблема в том, что, когда я заполняю новое поле, оно меняет статус, потому что оба эти поля имеют одинаковое значение = {this.state.company}

Мой рабочий код здесь:

https://codesandbox.io/s/select-form-sg5wr

Мне нужно сохранить значение: если это partner1 - сохраните его, если он другой - введите другое имя и сохраните его. Но значение должно go как одно значение (value = {this.state.company}). Может быть, есть способ не добавлять новые поля? Например, если его нет в списке, напишите это. Заранее спасибо!

UPD: Я решил это, просто добавив третий скрытый ввод со значением = {this.state.company === "other"? this.state.companyOther: this.state.company} и измените setState.

1 Ответ

0 голосов
/ 28 апреля 2020

Я думаю, что с помощью государства довольно легко справиться. Вы не можете сделать это в своих собственных процедурах, когда вы обновляете одно и то же состояние снова и снова. Вы можете объявить новое состояние с именем companyOther и использовать следующее условие в handleSubmit,

this.state.company === "other" ? this.state.companyOther : this.state.company
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...