在用户下拉列表中可查看当前启用的所有快捷键。

你可以分别在 menu.hotkeys、tabbar.hotkeys、page.hotkeys 中选择开启/关闭快捷键。
框架内建快捷键维护在:
apps/<app>/src/hotkeys/registry.ts业务自定义快捷键建议维护在:
apps/<app>/src/hotkeys/registry.extend.ts// apps/<app>/src/hotkeys/registry.extend.ts
import type { HotkeyBinding } from './types'
export const EXT_HOTKEY_ID = {
demoOpen: 'demo.open',
} as const
export const extendGlobalHotkeyBindings: HotkeyBinding[] = [
{
id: EXT_HOTKEY_ID.demoOpen,
keys: ['command+j', 'ctrl+j'],
help: {
group: 'global',
titleKey: 'global.demoOpen',
order: 90,
displayKeys: {
default: ['Ctrl', 'J'],
mac: ['⌘', 'J'],
},
},
},
]registry.ts 会自动引入并聚合这些扩展定义。
import { EXT_HOTKEY_ID } from '@/hotkeys/registry.extend'
import { useHotkeyBindings } from '@/hotkeys/useHotkeys'
useHotkeyBindings({
[EXT_HOTKEY_ID.demoOpen]: () => {
isShow.value = true
},
})如果快捷键只在某个弹窗或局部区域生效,也可以写在 registry.extend.ts 中:
export const EXT_HOTKEY_ID = {
demoConfirm: 'demo.confirm',
demoClose: 'demo.close',
} as const
export const extendScopedHotkeyBindings: HotkeyBinding[] = [
{
id: EXT_HOTKEY_ID.demoConfirm,
keys: ['enter'],
},
{
id: EXT_HOTKEY_ID.demoClose,
keys: ['esc'],
},
]然后在组件中配合 active 使用:
useHotkeyBindings({
[EXT_HOTKEY_ID.demoConfirm]: () => {
handleConfirm()
},
[EXT_HOTKEY_ID.demoClose]: () => {
isShow.value = false
},
}, () => isShow.value)registry.ts 中,请勿修改registry.extend.tshotkeys(...)help