如何使用 React 删除 ace 编辑器中所有现有的突出显示标记

Eht*_*dim 4 latex highlight ace-editor reactjs react-ace

我正在使用 ace 编辑器,并通过定义以下代码来突出显示行:

var Range = ace.require('ace/range').Range;
editor.session.addMarker(new Range(item - 1, 0, item - 1, 1), "warning-marker", "fullLine");
Run Code Online (Sandbox Code Playgroud)

现在,考虑到我没有任何标记 ID,我想删除在编辑器中使用的所有标记。

Eht*_*dim 5

这就是我最终解决这个问题的方法:

const prevMarkers = editor.session.getMarkers();
if (prevMarkers) {
  const prevMarkersArr = Object.keys(prevMarkers);
  for (let item of prevMarkersArr) {
    editor.session.removeMarker(prevMarkers[item].id);
  }
}
Run Code Online (Sandbox Code Playgroud)