【发布时间】:2017-01-15 23:58:47
【问题描述】:
有没有办法让一个子组件只呈现一个<option> 标签来触发它的父<select> 的onChange?
我问是因为我在孩子<option> 上尝试过onClick 和onChange,这似乎对他们很冷漠。
这个想法是一个看起来像这样的父 React 组件:
render() {
return (
<select value={this.state.value} onChange={this.handleChange}>
<ChildOption onClick={this.handleChange}
</select>
);
}
还有这样的 ChildOption 组件:
render() {
return (
<option onClick={this.handleClick} />
);
}
此问题的完整代码在 CodePen 中(假设它返回一个 <option>s 数组:
Cloud9 中的真实世界代码:
【问题讨论】:
-
浏览器对
onclickforoptions 的支持非常差。请问您为什么需要这种行为? -
我建议您处理 select onChange 上的数据,并根据选项值执行 onClick 选项。
-
handleClick是ChildOption中的一个东西吗? -
@DavinTryon,是的,它在 CodePen 和 C9 中。 @FabianSchultz,那么如何将事件添加到子组件中的一个单独的
<option>中? @FabioCosta,我可能误解了你在说什么,但根据我的尝试,onClick和onChange与 React 的事件一起使用<option>元素。
标签: reactjs