以编程方式输入更改时,气泡未触发

时间:2017-10-09 23:15:28

标签: reactjs semantic-ui-react

当用户撰写内容时,Input的{​​{1}}发生了更改,会触发semantic-ui-react以及包含onChangeparent 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作为组件Inputdata也没有任何内容与之相关,和最重要的......:

没有冒泡效果。

这意味着onListChange()不会被解雇。

问题:

如何在语义-UI-React 实现 正确无错误冒泡 onChange()

1 个答案:

答案 0 :(得分:0)

semantic-ui-react不完全确定,因为我从未使用它,但理论上这应该有用(它适用于正常输入):

setFoo() {
    this.input.value = 'foo';
    const event = new Event('input', { bubbles: true });
    this.input.dispatchEvent(event);
}