我的React App中有一个复选框列表。当我按住Shift键并单击一个时,应该选择当前位置和最近的选中位置之间的其他位置。
目前,我正尝试执行以下操作:
<input onChange={(e)=>this.handleCheckbox(e)} value={id} checked={this.state.selected.IndexOf(id) > -1} type="checkbox" />
handleCheckbox(e){
if(e.shiftKey){
console.log("shiftKey is hold")
}
//here goes some logic to save checkboxes in the state
}
但是条件if(e.shiftKey)
从未执行。我究竟做错了什么?
答案 0 :(得分:1)
onChange
。您应该使用onKeyDown
事件。
答案 1 :(得分:0)
仅适用于遇到此问题的其他人...要检查是否按下Shift键,请执行e.nativeEvent.shiftKey。希望这可以帮助。您仍然必须实现用于实际选中框的逻辑。如果您需要帮助,请告诉我。