我是 lexical.js 的新手,不完全理解如何收听不同的击键组合。我想听“Ctrl/Cmd+S”,然后触发回调(以保存数据)。我怎样才能做到这一点?
使用文本区域我可以做类似的事情:
const onKeyDown = (event) => {
// "Ctrl" or "Cmd" + "s"
if ((event.ctrlKey || event.metaKey) && event.which === 83) {
// save data
}
}
<textarea onKeyDown={onKeyDown} />
Run Code Online (Sandbox Code Playgroud)
对于词汇,我尝试做类似的事情:
const MY_SAVE_COMMAND: LexicalCommand<string> = createCommand('MY_SAVE_COMMAND')
editor.registerCommand<KeyboardEvent>(
MY_SAVE_COMMAND,
(event) => {
console.log('[MY_SAVE_COMMAND] event', event)
return true
},
COMMAND_PRIORITY_HIGH,
)
Run Code Online (Sandbox Code Playgroud)
这是行不通的。我应该在哪里插入听击键的部分,或者是否有不同的方法来完成此操作?