我正在研究一个没有任何输入/选择元素的组件但是我希望它表现得像一个,调用React输入所做的相同事件,期望有这样的工作:
<div onChange={this.onChange}>
<MyComponent/>
<input type="text"/>
</div>
在该示例中,input和MyComponent都应该到达this.onChange侦听器。
我知道如何调度真正的DOM事件,但是这不是针对onChange侦听器,而是针对DOM上真正的addEventListener:
var event = document.createEvent('HTMLEvents');
event.initEvent('change', true, false);
this.getDOMNode().dispatchEvent(event);
也许答案是here(或here?),但我仍然在努力解决这个问题。
更新
感谢@limelights准备一个游乐场:
答案 0 :(得分:0)
通过React的onChange
事件仅适用于表单控件,这意味着您永远不会让它们在DIV标记上注册为处理程序。