Vue3项目中在线编辑组件,codemirror-editor-vue3

#安装

npm install codemirror-editor-vue3 codemirror@5.x -S

#组件中使用

<template>
  <Codemirror
    v-model:value="code"
    :options="cmOptions"
    border
    ref="cmRef"
    height="400"
    width="600"
    @change="onChange"
    @input="onInput"
    @ready="onReady"
  >
  </Codemirror>
  <!-- <el-button type="primary" @click="handleSave">保存</el-button> -->

</template>
<script setup>
import { ref, reactive, onMounted,onUnmounted } from 'vue'
import "codemirror/mode/javascript/javascript.js"
import Codemirror from "codemirror-editor-vue3"
import "codemirror/theme/ayu-mirage.css";
import "codemirror/theme/neo.css";
const code = ref(
        `var i = 0;
for (; i < 9; i++) {
    console.log(i);
    // more statements
}
`
      )

const cmRef = ref()
const cmOptions = reactive({
    mode: "text/javascript",
    lineNumbers: true, // Show line number
    smartIndent: true, // Smart indent
    indentUnit: 4, // The smart indent unit is 2 spaces in length
    foldGutter: true, // Code folding
    matchBrackets: true,
    autoCloseBrackets: true,
    styleActiveLine: true, // Display the style of the selected row
    readOnly:true,
    // theme:'ayu-mirage',
    // theme:'neo',


})
const onChange = (val, cm) => {
    console.log(val)
    console.log(cm.getValue())
}

const onInput = (val) => {
    console.log(val)
}

const onReady = (cm) => {
    console.log(cm.focus())
}
onMounted(() => {
    setTimeout(() => {
        cmRef.value?.refresh()
    }, 1000)

    setTimeout(() => {
        // cmRef.value?.resize(300, 200)
    }, 2000)

    setTimeout(() => {
        cmRef.value?.cminstance.isClean()
    }, 3000)
})

onUnmounted(() => {
    cmRef.value?.destroy()
})
function handleSave() {
    console.log('codeValue: ', );
    console.log(code.value);
}


</script>

#如果想要更换不同的主题色, 只需要在组件中引入你要使用的主题色的css文件,然后配置theme的名字为引入的css文件名称。 https://codemirror.net/5/theme/  

#效果

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CodeMirror是一个用于在网页创建和编辑代码的JavaScript库。它提供了丰富的功能和灵活的配置选项,可以适用于各种编程语言。CodeMirror的官方文档可以在找到。在参考文档,可以找到有关如何配置CodeMirror编辑器的信息。 在Vue 3使用CodeMirror编辑器,可以通过安装codemirror-editor-vue3包来实现。该包是一个Vue 3的封装组件,可以方便地在Vue项目使用CodeMirror编辑器。你可以在找到该项目的详细信息和使用说明。 使用codemirror-editor-vue3的步骤如下: 1. 在Vue项目安装codemirror-editor-vue3包。 2. 在需要使用CodeMirror编辑器的组件引入codemirror-editor-vue3组件。 3. 在该组件的模板使用codemirror-editor-vue3组件,并设置相应的props和事件处理函数。 4. 在组件的script部分,可以通过import语句引入需要使用的编程语言的js文件,例如如果需要使用Python语言,可以引入"codemirror/mode/python/python.js"。 5. 在CodeMirror编辑器的配置选项,设置mode为相应的编程语言模式,例如对于Python语言,可以设置mode为"text/x-python"。 6. 根据项目需要,可以设置其他的CodeMirror编辑器配置选项,如主题、自动补全等。 请注意,使用codemirror-editor-vue3之前,确保已经安装了Vue 3和CodeMirror库,并按照官方文档进行了配置和使用。 参考资料: CodeMirror官方文档:https://codemirror.net/5/mode/index.html codemirror-editor-vue3项目信息和使用说明
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值