Как выбрать строки пакета, нажав клавишу Shift в таблице element-ui? - PullRequest
0 голосов
/ 21 мая 2019

Я хочу осуществить выбор партии, нажав клавишу Shift. Мое решение состоит в том, чтобы реализовать событие прослушивания клавиш и Установите переменную, чтобы определить, нажата ли клавиша Shift. А затем зациклите данные, чтобы сделать выбор партии.

Но я встретил проблемы 1. Я не могу получить правильное значение isShift, почему? 2. Если какой-то столбец можно отсортировать, будет проблема получить данные после сортировки.

https://codesandbox.io/s/editable-table-idea-g1pil

Есть предложения? Отлично, спасибо!

1 Ответ

0 голосов
/ 21 мая 2019

Я думаю, вам нужно изменить код. В методе creaed событие onKeydown вы используете анонимную функцию, поэтому this.isShift из данных Vue

created() {
    document.onkeydown = function(e) {
      var key = window.event.keyCode;
      if (key === 16) {
        this.isShift = true;
      }
    };
    document.onkeyup = function(e) {
      this.isShift = false;
    };
  },

Должно быть

created() {
    document.onkeydown = this.onKeyDown;
    document.onkeyup =this.onKeyUp;
  },
methods: {
    onKeyDown() {
      var key = window.event.keyCode;
      if (key === 16) {
        this.isShift = true;
      }
    },
    onKeyUp() {
       this.isShift = false;
    },
}

Извините, если мой английский плохой

...