Safari только запускает onChange один раз после начального onKeyDown при вводе текста - PullRequest
0 голосов
/ 15 января 2019

В моем компоненте реагирования есть поле ввода, в котором onChange() вызывает функцию, которую я написал. onKeyDown() также вызывает эту функцию, но только в ограниченных случаях.

Но мой onChange() вызывается только один раз в Safari при изменениях ввода, что не обновляет мое поле ввода, как я ожидаю. В Chrome мой onChange() вызывается каждый раз, когда происходит изменение моего ввода от пользователя, и обновляет поле ввода, как я ожидаю.

Кто-нибудь сталкивался с этим? И нашли решение?

Я пытался заменить onChange() на onInput(), но затем прочитал, что реакция onChange() - это в основном javascript onInput().

Обновление: Я обнаружил, что моя проблема в том, что я определяю свой ввод, который я передаю как опору другому компоненту в моей функции рендеринга. Мой onChange() на этом входе содержит setState(), который переопределяет мой компонент и (я думаю) отменяет регистрацию моего onChange(). Но опять же, это происходит только в Safari - отлично работает в Chrome, Firefox и IE.

Update2: Оказывается, это был флаг css webkit, который не был проблемой во всех других браузерах, но был проблемой в сафари. Я сбросил его, и это сработало (на случай, если кто-нибудь еще столкнется с этим в будущем).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...