CodeMirror 合并 - 在块批准/拒绝时调用函数

问题描述 投票:0回答:1

我正在使用 CodeMirror 6 和 @codemirror/merge 包。到目前为止,我已经完成了与 UI 相关的所有工作。但是,我无法弄清楚当用户批准或拒绝代码块时如何触发函数。

这是我的(JS/React)代码:

const editorState = EditorState.create({
  doc: modifiedCode,
  extensions: [
    ...extensions,
    showMergeView ? unifiedMergeView({ original: originalCode }) : [],
  ],
});

const view = new EditorView({
  state: editorState,
  parent: editorRef.current,
});

作为参考,我想运行一个函数来知道何时关闭合并视图。我通过计算

getChunks
返回的块的数量来做到这一点。但是,当用户与合并控制按钮交互时,我一生都无法弄清楚如何运行功能。

javascript codemirror codemirror-6
1个回答
0
投票

discuss.codemirror.net 上发布后,我能够想出以下监听接受/恢复消息的片段:

const editorState = EditorState.create({
  doc: "// my code",
  extensions: [
    ...extensions,
    EditorView.updateListener.of((update) => {
      if (update.transactions) {
        update.transactions.forEach((tr) => {
          if (tr.isUserEvent("accept")) {
            // handle accept
          } else if (tr.isUserEvent("revert")) {
            // handle revert
          }
        });
      }
    }),
  ],
});
© www.soinside.com 2019 - 2024. All rights reserved.