前言:
最近在完成项目时,有使用编译器进行在线编辑的功能,就选用了monaco-editor编译器,但是实现功能之后,发现即使在编译器展示的内容没有超过编译器高度的情况下,编译器依旧存在滚动条,会展示大量的空白,为了解决这个问题,笔者采用了多种方式进行尝试,最后终于解决,在此分享与各位小伙伴。
原本效果展示:
解决方案:添加scrollBeyondLastLine这个配置项
具体代码展示:
<template><div class="container"><div class="code" ref="editorRef" /></div>
</template><script lang="ts" setup>
import { onMounted, ref } from "vue"
import * as Monaco from "monaco-editor"
const editorRef = ref(null)
const props = defineProps({code: {type: String,require: true},readOnly: {type: Boolean,require: true}
})onMounted(() => {const editor = Monaco.editor.create(editorRef.value,{value: props.code,language: "json",theme: "vs-dark",readOnly: props.readOnly,scrollBeyondLastLine: false //设置编辑器是否可以滚动到最后一行之后(添加这一行)}})}
})
</script>