Vue3使用md-editor-v3的实例解读markdown文本

 更新时间:2026年01月12日 09:50:31   作者:csdn_HPL  
本文介绍了如何在Vue3项目中使用md-editor-v3实现Markdown编辑器,包括基础实现、工具栏自定义、预览功能以及扩展功能

下面我将提供一个完整的 Vue 3 项目中使用 md-editor-v3 的 Markdown 编辑器实现,包含常用功能和最佳实践。

1. 基础实现

安装依赖

npm install md-editor-v3

也可以是pnpm安装

pnpm install md-editor-v3

基础编辑器组件 (BasicEditor.vue)

<template>
<template>
  <MdEditor v-model="text" />
</template>

<script setup>
import { ref } from 'vue';
import { MdEditor } from 'md-editor-v3';
import 'md-editor-v3/lib/style.css';

const text = ref('Hello Editor!');
</script>

自定义工具栏

根据 md-editor-v3 的文档,以下是完整的工具栏参数列表:

const toolbars = [
  'bold',          // 加粗
  'underline',     // 下划线
  'italic',        // 斜体
  'strikeThrough', // 删除线
  'title',         // 标题
  'sub',           // 下标
  'sup',           // 上标
  'quote',         // 引用
  'unorderedList', // 无序列表
  'orderedList',   // 有序列表
  'task',          // 任务列表
  'codeRow',       // 行内代码
  'code',          // 代码块
  'link',          // 链接
  'image',         // 图片
  'table',         // 表格
  'mermaid',       // Mermaid图表
  'katex',         // 数学公式
  'revoke',        // 撤销
  'next',          // 重做
  'save',          // 保存
  '=',             // 等宽
  'pageFullscreen',// 页面全屏
  'fullscreen',    // 全屏
  'preview',       // 预览
  'htmlPreview',   // HTML预览
  'catalog',       // 目录
  '-'              // 分隔符
]

您可以根据需要自由组合这些参数来定制工具栏。

参考以下示例

<script setup>
import { ref } from 'vue'
import { MdEditor } from 'md-editor-v3'
import 'md-editor-v3/lib/style.css'

const text = ref('Hello Editor!')

// 自定义工具栏配置
const toolbars = [
  'bold', // 加粗
  'underline', // 下划线
  'italic', // 斜体
  'strikeThrough', // 删除线
  'title', // 标题
  'sub', // 下标
  'sup', // 上标
  'quote', // 引用
  '-', // 分隔符
  'unorderedList', // 无序列表
  'orderedList', // 有序列表
  'task', // 任务列表
  '-', // 分隔符
  'codeRow', // 行内代码
  'code', // 代码块
  'link', // 链接
  'image', // 图片
  'table', // 表格
  '_', // 分隔符
  'mermaid', // Mermaid图表
  'katex', // 数学公式
  'revoke', // 撤销
  'next', // 重做
  'save', // 保存
  '=', // 等宽
  '-', // 分隔符
  'pageFullscreen', // 页面全屏
  'fullscreen', // 全屏
  'preview', // 预览
  'htmlPreview', // HTML预览
  'catalog', // 目录
]
</script>

<template>
  <MdEditor v-model="text" :toolbars="toolbars" />
</template>

2. 预览功能

预览组件 (<MdPreview.vue)

  • MdPreview是 文章预览
  • MdCatalog是目录预览
<template>
	<!-- 文章预览 -->
  <MdPreview :id="id" :modelValue="text" />
  <!-- 目录预览 -->
  <MdCatalog :editorId="id" :scrollElement="scrollElement" />
</template>

<script setup>
import { ref } from 'vue';
import { MdPreview, MdCatalog } from 'md-editor-v3';
import 'md-editor-v3/lib/preview.css';

const id = 'preview-only';
const text = ref('# Hello Editor');
const scrollElement = document.documentElement;
</script>

还可以实现很多功能

参考网址:md-editor-v3

这个实现提供了完整的Markdown编辑体验,可以直接集成到Vue 3项目中,也可以根据需要进行定制和扩展。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3父子同信的双向数据的项目实现

    vue3父子同信的双向数据的项目实现

    我们知道的是,父传子的通信,和子传父的通信,那如何实现父子相互通信的呢,本文就来详细的介绍一下,感兴趣的可以了解一下
    2023-08-08
  • 详解vue-cli脚手架中webpack配置方法

    详解vue-cli脚手架中webpack配置方法

    这篇文章主要介绍了详解vue-cli脚手架中webpack配置方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 手把手教你Vue3实现路由跳转

    手把手教你Vue3实现路由跳转

    Vue Router是Vue.js的官方路由器,它与Vue.js核心深度集成,使使用Vue.js构建单页应用程序变得轻而易举,下面这篇文章主要给大家介绍了关于Vue3实现路由跳转的相关资料,需要的朋友可以参考下
    2022-08-08
  • Vue详细的入门笔记

    Vue详细的入门笔记

    这篇文章主要介绍了Vue详细的入门笔记,对Vue感兴趣的同学,可以参考下
    2021-05-05
  • vue-jsonp的使用及说明

    vue-jsonp的使用及说明

    这篇文章主要介绍了vue-jsonp的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vue项目下常用的npm命令详解

    vue项目下常用的npm命令详解

    文章介绍了Vue项目中常用的npm命令:npm run serve启动、npm install安装依赖、npm run build构建,运行前后文件体积变化显著,需HTTP服务器运行,npm工具不仅限于Vue,还广泛应用于其他场景
    2025-08-08
  • vue3+Typescript实现路由标签页和面包屑功能

    vue3+Typescript实现路由标签页和面包屑功能

    在使用 Vue.js 开发后台管理系统时,经常会遇到需要使用路由标签页的场景,这篇文章主要介绍了vue3+Typescript实现路由标签页和面包屑,需要的朋友可以参考下
    2023-05-05
  • Vue利用dayjs封装实现时间实时刷新

    Vue利用dayjs封装实现时间实时刷新

    Day.js库本身专注于简化JavaScript日期和时间的操作,它的API设计直观,且功能强大,可以方便地格式化日期、添加或减去时间间隔、比较日期等,本文主要介绍了Vue利用dayjs封装实现时间实时刷新,需要的朋友可以参考下
    2024-07-07
  • Vue2.0 实现移动端图片上传功能

    Vue2.0 实现移动端图片上传功能

    本文主要介绍VUE2.0图片上传功能的实现。原理是通过js控制和input标签的方式完成这一效果,无需加载其他组件。具体实例大家大家参考下本文
    2018-05-05
  • vue的$http的get请求要加上params操作

    vue的$http的get请求要加上params操作

    这篇文章主要介绍了vue的$http的get请求要加上params操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论