TipTap/VueJS - 如何检测按键

S. *_*eng 3 vue.js prose-mirror tiptap

我有一个协作聊天应用程序,它使用Tiptap作为其消息传递区域。我发现它很有用,因为它已经可以支持多种格式并且可以增加一些灵活性。然而,在寻找侦听“enter”键的事件侦听器时,我发现自己陷入了困境。当用户按下回车键时,我想提交他们的聊天并清除编辑器。

我找到了这个onUpdate事件侦听器,但我找不到它检测按下哪个键的确切位置。

示例代码如下:

mounted() {
  let editor = new Editor({
    extensions: [StarterKit],
    content: this.value
  });

  editor.on("update", e => {
    console.log(e);
    this.$emit("input", this.editor.getHTML());
  });

  this.editor = editor;
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我正在使用 Vue2。

谢谢

Sen*_*ent 8

在编辑器 props 中,传入回调

      handleDOMEvents: { 
        keydown: (view, event) => {
          if (event.key === "Enter") {
          }
          return false;
        }
      },
Run Code Online (Sandbox Code Playgroud)

https://www.tiptap.dev/api/editor/#editor-props https://prosemirror.net/docs/ref/#view.EditorProps