Definierte Abkürzungen
@@@ph000@Verwendung
Verwenden Sie das automatisch importierte defineShortcuts composable, um Tastenkombinationen zu definieren.
<script setup lang="ts">
const open = ref(false)
defineShortcuts({
meta_k: () => {
open.value = !open.value
}
})
</script>
- Shortcuts werden automatisch für Nicht-macOS-Plattformen angepasst, indem
metainctrlumgewandelt wird. - Das Composable verwendet VueUses
useEventListener, um Keydown-Ereignisse zu behandeln. - Eine vollständige Liste der verfügbaren Tastenkombinationen finden Sie in der API-Dokumentation
KeyboardEvent.key.
@@@@@@b32@b32@b32
{lang="ts-type"}
Definieren Sie Tastaturkürzel für Ihre Anwendung. Gibt eine Funktion zurück, die den Listener entfernt, falls Sie die Verknüpfungen stoppen müssen, bevor die Komponente nicht mehr eingehängt wird.
Parameter Bearbeiten
ref, um die Shortcuts reaktiv zu aktualisieren. Ein Wert von false,null oder undefined überspringt diese Verknüpfung, so dass Sie eine bedingt aktivieren.800.false(Standard): Verwendete.keyfür zeichenbasiertes Matching (Layout-spezifisch)true: Verwendete.codefür den physischen Schlüsselabgleich (Layout-agnostisch)
Shortcut-Definition
Shortcuts werden mit dem folgenden Format definiert:
- Singlekey:
'a','b','1','?', usw. - Tastenkombinationen: Verwenden Sie
_, um Schlüssel zu trennen, z. B.'meta_k','ctrl_shift_f' - Schlüsselsequenzen: Verwenden Sie
-, um eine Sequenz zu definieren, z. B.'g-d'
@@@@@ph060@@@Änderungen
meta/command: Repräsentiert⌘ Commandauf macOS undCtrlauf anderen Plattformenctrl: RepräsentiertCtrlauf allen Plattformenshift: Wird für alphabetische Tasten verwendet, wenn Shift erforderlich istalt/option: Stellt⌥ Optionauf macOS undAltauf anderen Plattformen dar. Abgestimmt durch physische Schlüsselposition, da Option das Zeichen auf macOS umschreibt.
Spezialschlüssel
Verwenden Sie diese Namen, um spezielle Schlüssel zu finden.
escape: Trigger auf Esc keyenter: Trigger auf Enter Tastearrowleft,arrowright,arrowup,arrowdown: Trigger auf den jeweiligen Pfeiltastentab: Trigger auf Tab-Tastebackspace: Trigger auf der Backspace-Tastedelete: Trigger auf Delete Tastespace: Trigger auf der Leertaste. ErfordertlayoutIndependent, sofern nicht mitaltkombiniert
Shortcut-Konfiguration
Jede Verknüpfung kann als eine Funktion oder ein Objekt mit den folgenden Eigenschaften definiert werden:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ph099@@Parameter Bearbeiten
KeyboardEvent.false(Standard): Shortcut wird nur ausgelöst, wenn keine Eingabe fokussiert isttrue: Shortcut löst aus, auch wenn eine Eingabe fokussiert iststring: Shortcut wird nur ausgelöst, wenn die angegebene Eingabe (nach Name) fokussiert ist
@@107@@Beispiele
Grundbenutzung
<script setup lang="ts">
defineShortcuts({
'?': () => openHelpModal(),
'meta_k': () => openCommandPalette(),
'g-d': () => navigateToDashboard()
})
</script>
Mit Input-Fokus-Handling
Verwenden Sie usingInput, um eine Verknüpfung nur dann auszulösen, wenn eine bestimmte Eingabe fokussiert ist.
<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>
Extrahieren von Verknüpfungen aus Menüpunkten
Verwenden Sie das Dienstprogramm extractShortcuts, um automatisch Verknüpfungen aus Menüelementen zu definieren.