这里考虑采用 monaco-editor 设定支持代码编辑 / 对比等功能
React JSON View
Resize
需要监听 resize 事件将编辑器实时变化大小
function resizeHandler() {if (monacoInstance) {monacoInstance.layout();}}window.addEventListener('resize', resizeHandler);
折叠
function toggleFold() {if (monacoInstance.folded) {monacoInstance.getAction('editor.unfoldAll').run();monacoInstance.focus();} else {monacoInstance.getAction('editor.foldAll').run().then(function () {monacoInstance.setSelection(new monaco.Range(1, 1, 1, 1));monacoInstance.focus();monacoInstance.getAction('editor.unfold').run();});}monacoInstance.setScrollTop(0);monacoInstance.folded = !monacoInstance.folded;}
