React - 按住 Shift 键选择多个复选框

Ann*_*nna 4 checkboxlist shift reactjs

我的 React 应用程序中有一个复选框列表。当我按住 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
}
Run Code Online (Sandbox Code Playgroud)

但条件if(e.shiftKey)永远不会被执行。我究竟做错了什么?

jus*_*ode 6

对于未来的访客:

要检查是否按下了 Shift 键,请检查e.nativeEvent.shiftKey单击事件中的 。

您仍然需要实现实际选中复选框的逻辑。如果您需要这方面的帮助,请告诉我。

希望这可以帮助。