vue-codemirror的简单使用

功能

代码编辑器

安装

命令行:npm install codemirror vue-codemirror --save

单文件引入

import { Codemirror } from 'vue-codemirror'

单文件展示

 <codemirror
    v-model="localCode"
    class="code-mirror"
    :placeholder="placeholder"
    :autofocus="true"
    :indent-with-tab="true"
    :tab-size="2"
    :extensions="extensions"
    :disabled="disabled"
    :style="customStyle"
    @ready="handleReady"
    @change="onChange"
    @focus="onFocus"
    @blur="onBlur"
  />

这里的单文件封装成一个组件,以供父组件调用

属性解读

  • v-model="localCode": 双向绑定数据

  • :placeholder="placeholder" 占位提示语

  • :autofocus="true" 自动聚焦

  • :indent-with-tab="true"

  • :extensions="extensions" 扩展

扩展安装

 pnpm install @codemirror/lang-json // json扩展
 pnpm install @codemirror/theme-one-dark  // theme-one-dark扩展

单文件导入扩展

import { json } from '@codemirror/lang-json'
import { oneDark } from '@codemirror/theme-one-dark'
const extensions = [json(), oneDark]  // 加载模块

显示

监听父组件传过来的值,通过vue3双向绑定原理更新到dom展示

const localCode = ref(props.code) // 获取父组件传过来的值,初始化数据

监听父组件数据变化,更新子组件数据

watch(
  () => props.code,
  (newVal) => {
    localCode.value = newVal
  }
)

编辑器更改

onChange获取数据变化,vue3 => emit传递给父组件

const onChange = (value: string, viewUpdate: any) => {
  console.log('change', value)
  emit('update:code', value)
}

是否可编辑

可以设置disabled状态,设为是否可读,

:disabled="disabled"

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值