首页 > 解决方案 > 无法找到将数据传递给 CKEditor 5 插件的方法

问题描述

我正在开发一个插件,当用户从给定的光标位置按 Enter 键时,它会从光标右侧复制内容,然后将其删除。

我目前遇到的问题是,当我在核心应用程序中启动编辑器时,我找不到将数据传递给插件的方法。

这是我正在试验的插件代码:

export default class CopyOnEnter extends Plugin {
  init() {
    const editor = this.editor;
    editor.editing.view.document.on("keydown", (evt, data) => {
      if (data.keyCode === 13 && passedDataToPlugin === "something") {
        const pos = editor.model.document.selection.getFirstPosition();
        const posEnd = Position._createAt(pos.root, "end");

        const rangeAfter = new Range(pos, posEnd);
        const fragAfter = editor.model.getSelectedContent(
          new Selection([rangeAfter])
        );
        const dataAfterEnterKey = editor.data.stringify(fragAfter);
        editor.model.deleteContent(new Selection([rangeAfter]));

        console.log("dataAfterEnterKey", dataAfterEnterKey);
      }
    });
  }
}

我目前正在研究命令的使用,但我仍然无法理解这些。

最坏的情况我将使用本地存储来传递数据,这不是给定问题 IMO 的最佳解决方案。

帮助将不胜感激。

标签: angularckeditor5

解决方案


推荐阅读