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

相关推荐
橙光成长1 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
小poop8 小时前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn9 小时前
运行时性能
前端
Never_every9910 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck11 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖11 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
欣欣之王来了13 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒13 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师13 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端
特立独行的猫A13 小时前
10 MB 的桌面 AI 客户端:用仓颉 + 系统 WebView 替代 Electron
前端·harmonyos