Appearance
Modificadores de Código de Tecla rutura
Visão Geral
Eis um rápido sumário do que mudou:
- RUTURA: Usamos números, ou seja, os códigos da tecla, uma vez que modificadores da
v-onjá não são suportados. - RUTURA:
config.keyCodesjá não é suportado.
Sintaxe da 2.x
Na Vue 2, keyCodes era suportado como uma maneira de modificar um método de v-on:
html
<!-- versão de código de tecla -->
<input v-on:keyup.13="submit" />
<!-- versão de pseudónimo -->
<input v-on:keyup.enter="submit" />Além disto, poderíamos definir os nossos próprios pseudónimos através duma opção config.keyCodes global:
js
Vue.config.keyCodes = {
f1: 112
}html
<!-- versão de código de tecla -->
<input v-on:keyup.112="showHelpText" />
<!-- versão de pseudónimo personalizado -->
<input v-on:keyup.f1="showHelpText" />Sintaxe da 3.x
Já que a KeyboardEvent.keyCode foi depreciado, também já não faz sentido para a Vue 3 continuar a suportar isto. Como resultado, agora é recomendado usar o nome de caixa-espetada para qualquer chave que quisermos usar como um modificador:
html
<!-- Modificador de Tecla da Vue 3 sobre a `v-on` -->
<input v-on:keyup.page-down="nextPage">
<!-- Corresponde a ambos q e Q -->
<input v-on:keydown.q="quit">Como resultado, isto significa que config.keyCodes agora também está depreciada e já não será suportada.
Estratégia de Migração
Para aqueles usando keyCode na sua base de código, recomendados convertê-los aos seus equivalentes nomeados com a caixa-espetada.
As teclas para alguns marcadores de pontuação apenas podem ser incluídos literalmente, por exemplo para a tecla ,:
html
<input v-on:keydown.,="commaPress">Limitações da sintaxe impedem certos caracteres de serem correspondidos, tais como ", ', /, =, >, e .. Para estes caracteres devemos verificar a event.key dentro do ouvinte.
Opção da Construção de Migração:
CONFIG_KEY_CODESV_ON_KEYCODE_MODIFIER