Keybindings
To make your application more accessible, you can use the useKeymap()
composable to define your own key bindings.
To bind a key to a command, you can use the shortcut
property of the Command
object.
Some default key bindings are already defined:
ArrowUp
: Select the previous item in the list.ArrowDown
: Select the next item in the list.Enter
: Execute the selected item.
useKeymap()
useKeymap()
let's you define your own key bindings with ease.
You can just pass an object with the following structure:
useKeymap((nav) => { return [ { key: 'ArrowRight', action: () => nav.prev(), override: true, autoRepeat: true }, { key: 'ArrowLeft', action: () => nav.next(), override: true, autoRepeat: true } ]})
The properties
override
and autoRepeat
are optional, and both default to false
.The composable also gives you access to the nav
object, which provides the following methods:
prev()
: Select the previous item in the list.next()
: Select the next item in the list.execute()
: Execute the selected item.
Command Shortcut
You can also define a shortcut for a command by using the shortcut
property of the Command
object.
const actions = [ { id: 'new-resource', label: 'Create new Resource', leading: './src/assets/icons/create.svg', action: () => alert('New Resource created'), shortcut: 'Ctrl+R' }, { id: 'new-service', label: 'Add new Service', leading: './src/assets/icons/service_1.svg', action: () => alert('New Service added'), shortcut: 'Ctrl+S' },]
Keybindings are internally handled by useMagicKeys | VueUse. If you have any questions about the syntax, please refer to their documentation.
Table of Contents