当用户撰写内容时,Input
的{{1}}发生了更改,会触发semantic-ui-react
以及包含onChange
个parent component
的任何Input
onChange
也是。一个名为bubble
的过程......对吗?
<li onChange={this.onListChange}>
<Input onChange={this.onInputChange}/>
</li>
Input
所做的任何更改都会一个接一个地触发onInputChange()
和onListChange()
。
虽然动态更改Input.value/text/content
时,根本不会调用Input.onChange()
。因此,您必须手动调用 onChange()
函数 。
setFoo() {
this.input.value = 'foo';
this.inputChange();
}
但问题是,当我们调用 inputChange 时,我们不会将e.target
作为组件Input
,data
也没有任何内容与之相关,和最重要的......:
没有冒泡效果。
这意味着onListChange()
不会被解雇。
如何在语义-UI-React 上实现 正确无错误冒泡 onChange()
?
答案 0 :(得分:0)
对semantic-ui-react
不完全确定,因为我从未使用它,但理论上这应该有用(它适用于正常输入):
setFoo() {
this.input.value = 'foo';
const event = new Event('input', { bubbles: true });
this.input.dispatchEvent(event);
}