前言
提示:这里可以添加本文要记录的大概内容:
monaco-editor对比组件中,在改变了编辑内容之后,点击下一步操作。我这边会有一个格式校验的问题,json格式的校验,我利用的是monaco
原生的错误标记,但是在我更新内容之后,重新获取错误标记,并没有更新,还是之前的,导致我的错误校验失败,异常崩溃,但凡之前有一次报错,我改了报错它也还是一直出现,定位到原因是因为monaco
组件的monaco.editor.getModelMarkers()
事件没有拿到最新的错误标记信息。
提示:以下是本篇文章正文内容,下面案例可供参考
一、没有更新,那我就在数据改变的时候,重新获取标记
监听数据改变
modifiedModel.onDidChangeContent((data) => {
let markers = [];
if (id === "xml") {
markers = checkXMLSyntax(modifiedModel.getValue());
} else if (id === "yaml") {
markers = checkYAMLSyntax(modifiedModel.getValue());
} else if (id === "lua") {
markers = checkLuaSyntax(modifiedModel.getValue());
} else {
setTimeout(() => {
console.log(modifiedModel)
markers = monaco.editor.getModelMarkers(modifiedModel.uri)
monaco.editor.setModelMarkers(modifiedModel, id, markers);
}, 500)
}
monaco.editor.setModelMarkers(modifiedModel, id, markers);
});
总结
提示:这里对文章进行总结:
uri
的理解和运用