definieerSnelkoppelingen
Gebruik
Gebruik de automatisch geïmporteerde defineShortcuts composable om sneltoetsen te definiëren.
<script setup lang="ts">
const open = ref(false)
defineShortcuts({
meta_k: () => {
open.value = !open.value
}
})
</script>
- Snelkoppelingen worden automatisch aangepast voor niet-macOS-platforms en converteren
metanaarctrl. - De composable gebruikt de
useEventListenervan VueUse om keydown-gebeurtenissen af te handelen. - Raadpleeg de
KeyboardEvent.keyAPI-documentatie voor een volledige lijst met beschikbare sneltoetsen. Toetsen in de configuratie zijn niet hoofdlettergevoelig, dusmeta_kenmeta_Kzijn equivalent.
API
defineShortcuts(config: MaybeRef<ShortcutsConfig>, options?: ShortcutsOptions): () => void
Definieer sneltoetsen voor uw toepassing. Retourneert een functie die de luisteraar verwijdert, voor het geval u de sneltoetsen moet stoppen voordat de component wordt ontkoppeld.
Parameters
ref door om de snelkoppelingen reactief bij te werken.
Een waarde van false, null of undefined slaat die snelkoppeling over, en zo schakel je er een voorwaardelijk in.800.false(standaard): Gebruikte.keyvoor op tekens gebaseerde matching (lay-out specifiek)true: Gebruikte.codevoor fysieke sleutel matching (Layout agnostic)
Definitie snelkoppeling
Snelkoppelingen worden gedefinieerd in de volgende indeling:
- Enige sleutel:
'a','b','1','?', enz. - Toetscombinaties: Gebruik
_om toetsen te scheiden, bijv.'meta_k','ctrl_shift_f' - Key sequences: Gebruik
-om een sequentie te definiëren, bijv.'g-d'
Modificatoren
meta/command: Vertegenwoordigt⌘ Commandop macOS enCtrlop andere platformsctrl: VertegenwoordigtCtrlop alle platformenshift: Gebruikt voor alfabetische toetsen wanneer Shift vereist isalt/option: Vertegenwoordigt⌥ Optionop macOS enAltop andere platforms. Komt overeen met de fysieke sleutelpositie, aangezien Option het personage op macOS herschrijft
Speciale toetsen
Gebruik deze namen om speciale sleutels te matchen.
escape: Triggers op Esc-toetsenter: Triggers op Enter-toetsarrowleft,arrowright,arrowup,arrowdown: Trigger op respectievelijke pijltjestoetsentab: Triggers op Tab-toetsbackspace: Triggers op Backspace-toetsdelete: Triggers op Delete-toetsspace: triggers op de spatiebalk. VereistlayoutIndependenttenzij gecombineerd metalt
Snelkoppeling configuratie
Elke snelkoppeling kan worden gedefinieerd als een functie of een object met de volgende eigenschappen:
interface ShortcutConfig { handler: (e?: KeyboardEvent) => void; usingInput?: boolean | string }
Parameters
KeyboardEvent.false(standaard): Snelkoppeling wordt alleen geactiveerd wanneer er geen invoer is gerichttrue: Snelkoppeling wordt geactiveerd, zelfs wanneer een invoer is gerichtstring: Snelkoppeling wordt alleen geactiveerd wanneer de opgegeven invoer (op naam) is gericht
Voorbeelden
Basisgebruik
<script setup lang="ts">
defineShortcuts({
'?': () => openHelpModal(),
'meta_k': () => openCommandPalette(),
'g-d': () => navigateToDashboard()
})
</script>
Met invoer focus handling
Gebruik usingInput om een snelkoppeling alleen te activeren wanneer een specifieke invoer is gericht.
<template>
<UInput v-model="query" name="queryInput" />
</template>
<script setup lang="ts">
const query = ref('')
defineShortcuts({
enter: {
usingInput: 'queryInput',
handler: () => performSearch()
},
escape: {
usingInput: true,
handler: () => clearSearch()
}
})
</script>
Snelkoppelingen uit menu-items extraheren
Gebruik het hulpprogramma extractShortcuts om automatisch snelkoppelingen uit menu-items te definiëren.