如果表单使用基于React JS的接口,并且以编程方式更改输入字段值,那么如何以编程方式触发值更改事件?
我理解DOM输入事件被转换为React中的综合变更事件。 所以这用于处理输入元素,它用于在以编程方式输入输入值后启用表单中的按钮。
var event = new Event('input', { bubbles: true });
inputElement.dispatchEvent(event);
但由于使用了React JS的更新版本,因此不再起作用。 这有什么原因不起作用? 现在的替代方案是什么?我甚至试图触发事件,如变化,焦点,模糊事件,但没有一个工作。 还尝试更改值属性而不是说
inputElement.value = "test";
但是上述事件的发送仍然无效。
答案 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
。