vue2-ace-editor的使用

vue

最近开发中使用到了脚本编辑器vue2-ace-editor,这里介绍一下其简单的用法

一、安装

    npm install vue2-ace-editor --save

二、简单组件封装

<div class="editor-box">

<ace

ref="editor"

:value="content"

@init="initEditor"

:lang="lang"

:height="height === 0 ? '100%' : height"

:theme="theme"

:options="options"

width="100%"

v-bind="config">

</ace>

</div>

<script>

import ace from 'vue2-ace-editor'

export default {

name: 'SqlEditor',

components: {

ace

},

props: {

content: {

type: String,

default: ''

},

height: {

type: Number,

default: 0

},

readOnly: {

type: Boolean,

default: false

},

theme: {

type: String,

default: 'monokai'

},

lang: {

type: String,

default: 'sql'

},

config: {

type: Object,

default: () => {

return {

font_size: 16,

sql_atom: true

}

}

}

},

computed: {

options () {

if (this.readOnly) {

return {

enableBasicAutocompletion: true,

enableSnippets: true,

enableLiveAutocompletion: this.config.sql_atom,

showPrintMargin: false,

fontSize: this.config.font_size,

readOnly: true

}

}

return {

enableBasicAutocompletion: true,

enableSnippets: true,

enableLiveAutocompletion: this.config.sql_atom,

showPrintMargin: false,

fontSize: this.config.font_size

}

}

},

created () {

},

methods: {

initEditor (editor) {

require('brace/ext/language_tools')

// 设置语言

require('brace/mode/sql')

require('brace/snippets/sql')

// 设置主题 按需加载

require('brace/theme/monokai')

require('brace/theme/chrome')

require('brace/theme/crimson_editor')

// 监听值的变化

editor.getSession().on('change', val => {

this.$emit('change', editor.getValue())

})

}

}

}

</script>

三、组件使用

import Editor from '@/components/common/Editor.vue'

<editor

ref="editors"

:content="value"

:theme="'crimson_editor'"

:config="config"

@change="editorChange"></editor>

四、sql语言格式化sql-formatter

  • 安装

npm install sql-formatter --save

  • 使用

import { format } from 'sql-formatter'

// 方法

formatter () {

const editor = this.$refs.editor.editor

const content = editor.getValue()

const formatContent = format(content)

editor.setValue(formatContent)

}

扩展,ace的基础用法和属性

以上是 vue2-ace-editor的使用 的全部内容, 来源链接: utcz.com/z/375892.html

回到顶部