React не отвечает на отправленное событие изменения - PullRequest
0 голосов
/ 09 апреля 2020

Я обрабатываю onPaste, анализирую данные, затем мне нужно вызвать любые существующие обработчики onChange.

const event = new Event("change", { bubbles: true});
e.target.dispatchEvent(event);

Отлично работает на элементах ввода, но, похоже, не работает работать над компонентами React. Отправка change не имеет никакого эффекта при использовании на компоненте

Вот пример кода: https://codesandbox.io/s/react-paste-change-1tr5k

e.preventDefault необходимо, потому что содержимое должно быть заменен после анализа

1 Ответ

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

В качестве обходного пути сейчас используется событие input вместо change.

const ev2 = new Event('input', { bubbles: true})
e.target.dispatchEvent(ev2)

Обратите внимание, что «настраиваемый» компонент в приведенном выше примере - просто оболочка <input>:

const CustomInput = (props) => <input onChange={props.onChange} />

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

...