Как запустить функцию, когда @keyup.удаляет ввод, пока он не опустеет? ВуэЙС

#javascript #input #vuejs2

Вопрос:

В моем DOM у меня есть область ввода, введите ее с некоторым текстом, чтобы вставить тег

<ввод @keyup.delete=»inputBackspace()» @keyup.enter=»insert_tag()»>

и вот мои методы

 insert_tag() {
  let value = this.tagInput
  this.tags.push(value)
  this.tagInput = ''
},
inputBackspace() {
  if (this.tagInput === '') this.tags.splice(-1, 1)
}
 

Но приведенный выше метод-это не тот результат, который я хочу, он запускает функцию сращивания, когда тег мгновенно пустеет, введя backspace.
Я предпочитаю сначала ввести backspace, чтобы входное значение стало пустым, а затем снова ввести backspace, чтобы запустить функцию соединения.

Ответ №1:

Измените свой обработчик событий с keyup на keydown, вот так @keydown.delete = "inputBackspace ()"

Вот моя песочница для этого примера https://codesandbox.io/s/kind-merkle-nhtl8?file=/src/App.vue