小编Cor*_*ius的帖子

如何使用 lexical.js 监听击键组合?

我是 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)

这是行不通的。我应该在哪里插入听击键的部分,或者是否有不同的方法来完成此操作?

javascript typescript lexicaljs

6
推荐指数
1
解决办法
1618
查看次数

标签 统计

javascript ×1

lexicaljs ×1

typescript ×1