Vue3中对v-md-editor编辑器的集成使用

效果展示:

首先安装需要的包

html 复制代码
npm i @kangc/v-md-editor@next -S

在main.js中进行全局配置

javascript 复制代码
import VMdEditor from '@kangc/v-md-editor/lib/codemirror-editor';
import '@kangc/v-md-editor/lib/style/codemirror-editor.css';
import githubTheme from '@kangc/v-md-editor/lib/theme/github.js';
import '@kangc/v-md-editor/lib/theme/style/github.css';

// highlightjs
import hljs from 'highlight.js';

// codemirror 编辑器的相关资源
import Codemirror from 'codemirror';
// mode
import 'codemirror/mode/markdown/markdown';
import 'codemirror/mode/javascript/javascript';
import 'codemirror/mode/css/css';
import 'codemirror/mode/htmlmixed/htmlmixed';
import 'codemirror/mode/vue/vue';
// edit
import 'codemirror/addon/edit/closebrackets';
import 'codemirror/addon/edit/closetag';
import 'codemirror/addon/edit/matchbrackets';
// placeholder
import 'codemirror/addon/display/placeholder';
// active-line
import 'codemirror/addon/selection/active-line';
// scrollbar
import 'codemirror/addon/scroll/simplescrollbars';
import 'codemirror/addon/scroll/simplescrollbars.css';
// style
import 'codemirror/lib/codemirror.css';

VMdEditor.Codemirror = Codemirror;
VMdEditor.use(githubTheme, {
	Hljs: hljs,
});


app.use(VMdEditor);

写一个编辑器组件:

html 复制代码
<template>
	<VMdEditor v-model="text" height="400px"></VMdEditor>
</template>

<script>
	import VMdEditor from '@kangc/v-md-editor/lib/codemirror-editor';
	export default {
		components: {
			VMdEditor,
		},
		data() {
			return {
				text: '',
			};
		},
	};
</script>

使用组件

html 复制代码
<template>
	<NavBar></NavBar>
	<ContentBase>
		<div class="row">
			<div class="col-3">
				<UserInfo></UserInfo>
			</div>
			<div class="col-9">
				<div class="row-1">
					<div class="markdown">
						<EditorView></EditorView>
					</div>
				</div>
				<div class="row-1">
					<UserPosts></UserPosts>
				</div>
			</div>

		</div>
	</ContentBase>
</template>

<script>
	import NavBar from "../components/NavBar.vue";
	import ContentBase from "../components/ContentBase.vue";
	import UserInfo from "../components/UserInfo.vue";
	import UserPosts from "../components/UserPosts.vue";
	import EditorView from "../components/EditorView.vue";
	export default {
		name: "UserProfile",
		components: {
			NavBar,
			ContentBase,
			UserInfo,
			UserPosts,
			EditorView,
		},
		data() {
			return {

			};
		},
		methods: {},
	};
</script>

<style scoped>
	EditorView {
		height: 400px;
		width: 200px;
	}

	.markdown {
		height: 400px;
		/* width: 200px; */
	}
</style>

其他的编辑器精美设计请移步官方文档:

https://github.com/imzbf/md-editor-v3/blob/develop/README-CN.md

相关推荐
apcipot_rain4 小时前
【应用密码学】实验五 公钥密码2——ECC
前端·数据库·python
油丶酸萝卜别吃4 小时前
OpenLayers 精确经过三个点的曲线绘制
javascript
ShallowLin4 小时前
vue3学习——组合式 API:生命周期钩子
前端·javascript·vue.js
Nejosi_念旧5 小时前
Vue API 、element-plus自动导入插件
前端·javascript·vue.js
互联网搬砖老肖5 小时前
Web 架构之攻击应急方案
前端·架构
pixle05 小时前
Vue3 Echarts 3D饼图(3D环形图)实现讲解附带源码
前端·3d·echarts
麻芝汤圆6 小时前
MapReduce 入门实战:WordCount 程序
大数据·前端·javascript·ajax·spark·mapreduce
juruiyuan1117 小时前
FFmpeg3.4 libavcodec协议框架增加新的decode协议
前端
Peter 谭8 小时前
React Hooks 实现原理深度解析:从基础到源码级理解
前端·javascript·react.js·前端框架·ecmascript
周胡杰8 小时前
鸿蒙接入flutter环境变量配置windows-命令行或者手动配置-到项目的创建-运行demo项目
javascript·windows·flutter·华为·harmonyos·鸿蒙·鸿蒙系统