Реагировать - выбрать несколько флажков, удерживая клавишу Shift - PullRequest
0 голосов
/ 03 января 2019

У меня есть список флажков в моем приложении 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
}

Но условие if(e.shiftKey) никогда не выполняется. Что я делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Просто для кого-то, кто сталкивается с этим ... Чтобы проверить, нажата ли клавиша Shift, вы делаете e.nativeEvent.shiftKey.Надеюсь это поможет.Вы все еще должны реализовать логику для фактической проверки флажков.Если вам нужна помощь, дайте мне знать.

0 голосов
/ 03 января 2019

onChange срабатывает после того, как вы отпустите кнопку. Вы должны использовать событие onKeyDown.

...