我想通過鼠標點擊變化不同的方式處理由鍵盤會改變。爲此我創建了以下組件。我的問題是,當我使用箭頭鍵和空格來選擇單選按鈕時,它使用來自父div元素的onClick方法,然後使用input元素中的onChange方法。這種行爲的原因是什麼?如何正確處理?陣營的onChange單選按鈕火災的onClick父div元素
class Radio extends React.Component {
constructor(props) {
super(props);
this.onChange = this.onChange.bind(this);
this.onClick = this.onClick.bind(this);
this.state = { checked: false };
}
onChange() {
this.setState({ checked: !this.state.checked });
console.log('onChange');
}
onClick() {
this.onChange();
console.log('onClick');
}
render() {
return (
<div onClick={this.onClick}>
<input
type="radio"
checked={this.state.checked}
onChange={this.onChange}
/>
Click me!
</div>
);
}
}
ReactDOM.render(<Radio />, document.getElementById('root'));
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react-dom.min.js"></script>
非常有趣!您的解決方案效果很好,謝謝。 –