我正在开发一个插件,当用户从给定光标位置按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);
}
});
}
}
我目前正在调查命令的使用,但仍然无法绕过这些命令。
在最坏的情况下,我将使用localstorage传递数据,这对于给定的IMO问题不是最佳解决方案。
我们将不胜感激。