# Удалена поддержка модификаторов keyCode
breaking

# Обзор

Вот краткое описание изменений:

  • КАРДИНАЛЬНОЕ ИЗМЕНЕНИЕ: Использование чисел, т.е. keyCode, в качестве модификаторов v-on больше не поддерживается
  • КАРДИНАЛЬНОЕ ИЗМЕНЕНИЕ: опция config.keyCodes больше не поддерживается

# Синтаксис в 2.x

Во Vue 2 можно было указывать keyCode для модификации метода v-on.

<!-- версия с keyCode -->
<input v-on:keyup.13="submit" />

<!-- версия с псевдонимом -->
<input v-on:keyup.enter="submit" />
1
2
3
4
5

Кроме того, можно было определять собственные псевдонимы через глобальную опцию config.keyCodes.

Vue.config.keyCodes = {
  f1: 112
}
1
2
3
<!-- версия с keyCode -->
<input v-on:keyup.112="showHelpText" />

<!-- версия с пользовательским псевдонимом -->
<input v-on:keyup.f1="showHelpText" />
1
2
3
4
5

# Синтаксис в 3.x

Так как KeyboardEvent.keyCode был объявлен устаревшим (opens new window) для Vue 3 больше нет смысла продолжать его поддержку. Теперь рекомендуется указывать имя в kebab-case для любой клавиши, которую требуется использовать в качестве модификатора.

<!-- Vue 3 и модификатор клавиши на v-on -->
<input v-on:keyup.delete="confirmDelete" />
1
2

Из этого следует, что опция config.keyCodes теперь больше не нужна и также не будет поддерживаться.

# Стратегия миграции

Для тех кто использует keyCode в своей кодовой базе, рекомендуется преобразовать их в именованные эквиваленты в kebab-case.

Deployed on Netlify.
Последнее обновление: 2021-01-03, 12:00:51 UTC