Подтвердить что ты не робот

Реагировать на загрузку только для чтения в formcontrol

Я использую реакцию bootstrap, и эта структура предоставляет некоторые хорошие FormControls.

Но я хотел бы создать поле ввода, которое создается в FormControls, чтобы иметь опцию readonly = "readonly" . Таким образом, это поле выглядит так же, как и мои другие FormControls, но не дает ввода на клавиатуре в IOS.

В моем случае вход будет предоставлен сборщиком календаря, который будет вызван popover.

Кто-нибудь знает, как предоставить FormControl параметр readonly = "readonly" , так что сгенерированное поле ввода в браузере будет иметь prop readonly = "readonly" ?

Много thnx для ответов!

4b9b3361

Ответ 1

Это не похоже на проблему с реакцией-бутстрапом, а скорее на реакцию. Реакция не переносит "readonly" prop на сгенерированный (действительный) элемент DOM:

React-bootstrap создайте следующий ответный виртуальный вход dom: введите описание изображения здесь

Тем не менее, реакция сгенерировала следующий реальный элемент DOM, опустив атрибут readonly: введите описание изображения здесь

Возможно, использование "disabled" может помочь в вашем случае:

<FormControl
   disabled
   type="text"
   placeholder="Enter text"
   onChange={this.handleChange}
 />

Для различий между readonly и disbabled см. здесь: fooobar.com/info/16937/...

Я создал проблему в React github repo: # 6783


UPDATE

Получив ответ в вышеупомянутой проблеме. Вам нужно написать его с помощью camelcase: readOnly.

Итак, это должно быть:

<FormControl
   readOnly
   type="text"
   placeholder="Enter text"
   onChange={this.handleChange}
 />