如何使用JS或jQuery触发React 16的模拟更改和输入事件?

时间:2017-11-07 23:31:07

标签: javascript jquery reactjs javascript-events react-dom

我正在尝试使用纯JS或jQuery触发React表单上的输入/更改事件。 使用react-dom 15.6.0,您可以在事件对象上使用模拟标志,以使事件通过

var ev = new Event('input', { bubbles: true});
ev.simulated = true;
element.value = 'Something new';
element.dispatchEvent(ev);

实施例: https://codepen.io/catthr/pen/PKXzLQ

因此,此评论的原始建议过去有用:https://github.com/cypress-io/cypress/issues/536#issuecomment-308739206

但在React 16发布后,这并没有按预期触发输入和更改事件。

在React 16中如何处理输入数据更改的内部变化是什么?

1 个答案:

答案 0 :(得分:0)

将输入更改传递给state =>当状态发生变化时,就会触发生命周期挂钩,在那里处理逻辑。

不确定你要做什么,但是vanilla javascript应该足够

您在提交时想要做什么? 你在追踪什么事件?

在我得到一些澄清之后,我会尝试更多地帮助你

谢谢:)