Модифікатори keyCode несумісно
Огляд
Ось короткий огляд того, що змінилося:
- НЕСУМІСНО: Використання чисел, тобто кодів клавіш як модифікаторів
v-onбільше не підтримується - НЕСУМІСНО:
config.keyCodesбільше не підтримується
2.x Синтаксис
У версії Vue 2 підтримувалися keyCodes як спосіб модифікації методу v-on.
<!-- версія коду клавіши -->
<input v-on:keyup.13="submit" />
<!-- версія псевдоніму -->
<input v-on:keyup.enter="submit" />Крім того, можна було визначити власні псевдоніми за допомогою глобального параметра config.keyCodes.
Vue.config.keyCodes = {
f1: 112
}<!-- версія коду клавіші -->
<input v-on:keyup.112="showHelpText" />
<!-- версія користувацького псевдоніма -->
<input v-on:keyup.f1="showHelpText" />3.x Синтаксис
Оскільки KeyboardEvent.keyCode вже втратив свою актуальність, Vue 3 більше не має сенсу продовжувати підтримувати його. Як наслідок, тепер рекомендується використовувати назву в стилі люля-кебаб для будь-якої клавіші, яку ви хочете використати як модифікатор.
<!-- Vue 3 Модифікатор клавіш на v-on -->
<input v-on:keyup.page-down="nextPage">
<!-- Підходить для q та Q -->
<input v-on:keypress.q="quit">Як наслідок, це означає, що config.keyCodes тепер також застарілий і більше не підтримується.
Стратегія міграції
Для тих, хто використовує keyCode у своїй кодовій базі, ми рекомендуємо перетворити їх на іменовані еквіваленти в стилі люля-кебаб.
Клавіші для деяких розділових знаків можна вказати буквально, наприклад, для клавіші ,:
<input v-on:keypress.,="commaPress">Обмеження синтаксису не дозволяють перевірити певні символи, такі як ", ', /, =, > та . Для цих символів вам слід перевірити event.key всередині слухача.
CONFIG_KEY_CODESV_ON_KEYCODE_MODIFIER