我正在开发一个没有任何输入/选择元素的组件,但我希望它表现得像一个组件,调度与 React 输入相同的事件,期望有这样的工作:
<div onChange={this.onChange}>
<MyComponent/>
<input type="text"/>
</div>
在该示例中,input 和 MyComponent 都应到达 this.onChange 监听器。
我知道如何分派(dispatch)真实的 DOM 事件,但这并不能将其发送到 onChange 监听器,而只能发送到 DOM 上的真实 addEventListener:
var event = document.createEvent('HTMLEvents');
event.initEvent('change', true, false);
this.getDOMNode().dispatchEvent(event);
也许答案是here (或here?),但我仍在为此苦苦挣扎。
更新
感谢@limelights 准备了一个 Playground :
最佳答案
React 的 onChange
事件仅适用于表单控件,这意味着您永远无法让它们注册为 DIV 标记上的处理程序。
关于reactjs - 如何调度 SyntheticEvent 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30878534/