第六篇 VUE使用CodeMirror 实现sql 等脚本的录入

该篇写的是 CodeMirror 的简单使用,对于平时的开发使用足够了。

页面效果如下:

更多的配置项可参照在线手册:

在线使用手册:https://codemirror.net/doc/manual.html
github地址:https://github.com/marijnh/codemirror

使用方法:

1. npm 安装 vue-codemirror

npm install vue-codemirror --save

2.简单使用的 demo

可引入主题类型、可引入脚本类型

import 'codemirror/theme/cobalt.css' // 主题3

import 'codemirror/mode/javascript/javascript.js' // 指定为 javascript 脚本

3. 使用代码如下:

<template>
  <div class="code-mirror">
    <codemirror
      ref="chartOption"
      :value="mirrorCode"
      v-model="form.script"
      :options="cmOptions"
      @change="mirrorCodeChange"
    >
    </codemirror>
    <el-button @click="getdata">Test get sql</el-button>
  </div>
</template>

<script>
import { codemirror } from 'vue-codemirror'
import 'codemirror/lib/codemirror.css' // 基本样式
import 'codemirror/theme/ambiance.css' // 主题1 这里引入的是主题样式,根据设置的theme的主题引入,一定要引入!!
import 'codemirror/theme/base16-light.css' // 主题2
import 'codemirror/theme/cobalt.css' // 主题3

// import 'codemirror/mode/javascript/javascript.js' // 指定为 javascript 脚本
import 'codemirror/mode/sql/sql.js' // 指定为 sql 脚本
export default {
  name: 'basic-line-configs',
  components: {
    codemirror
  },
  data() {
    return {
      mirrorCode: '',
      cmOptions: {
        value: 'select * from test', //编辑器的初始值(文本)
        mode: 'text/javascript', //以什么格式进行代码高亮
        theme: 'cobalt', // ambiance, foo bar, darcula //配置编辑器的主题样式
        indentUnit: 4, //缩进单位
        smartIndent: true, // 自动缩进
        tabSize: 2, //tab字符的宽度
        lineNumbers: true, // 是否显示行
        firstLineNumber: 1, //第一行的行号
        showCursorWhenSelecting: true, // 在选择时是否显示光标
        readOnly: false, //是否只读,不能获取焦点
        cursorHeight: 1,
        autoRefresh: true,
        styleActionLine: true
      },
      form: {
        script: ''
      }
    }
  },
  methods: {
    mirrorCodeChange(data) {
      console.log('code data', data)
    },
    getdata() {
      console.log('data', this.form)
    }
  }
}
</script>

<style lang="scss" scoped>
::v-deep.code-mirror {
  .CodeMirror-line {
    font-size: 16px;
  }
  .CodeMirror-linenumber {
    font-size: 16px;
  }
}
</style>

4. 谢谢支持,一起学习一起进步!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值