当输入值以编程方式更改时触发更改事件React

时间:2017-08-13 10:52:54

标签: javascript jquery html reactjs

如果表单使用基于React JS的接口,并且以编程方式更改输入字段值,那么如何以编程方式触发值更改事件?

我理解DOM输入事件被转换为React中的综合变更事件。 所以这用于处理输入元素,它用于在以编程方式输入输入值后启用表单中的按钮。

var event = new Event('input', { bubbles: true });
inputElement.dispatchEvent(event);

但由于使用了React JS的更新版本,因此不再起作用。 这有什么原因不起作用? 现在的替代方案是什么?我甚至试图触发事件,如变化,焦点,模糊事件,但没有一个工作。 还尝试更改值属性而不是说

inputElement.value = "test";

但是上述事件的发送仍然无效。

1 个答案:

答案 0 :(得分:3)

请参阅描述解决方案的this answer

origin = (mean(x), mean(y)); // this is as in standard ls

angle = 0.5 * atan2( 2 * cov(x, y), (var(x) - var(y)));

这仅适用于var setValue = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set; setValue.call(input, 'my new value'); var e = new Event('input', { bubbles: true }); input.dispatchEvent(e); 代码;对于input,您需要textarea