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项目中,也可以根据需要进行定制和扩展。

总结

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

相关文章

  • element el-table如何实现表格动态增加/删除/编辑表格行(带校验规则)

    element el-table如何实现表格动态增加/删除/编辑表格行(带校验规则)

    这篇文章主要介绍了element el-table如何实现表格动态增加/删除/编辑表格行(带校验规则),本篇文章记录el-table增加一行可编辑的数据列,进行增删改,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • vue-froala-wysiwyg 富文本编辑器功能

    vue-froala-wysiwyg 富文本编辑器功能

    这篇文章主要介绍了vue-froala-wysiwyg 富文本编辑器功能,分步骤给大家介绍了vue3.中如何安装使用froala,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • vue中使用js-doc的案例代码

    vue中使用js-doc的案例代码

    这篇文章主要介绍了vue中使用js-doc的相关知识,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • element-ui 限制日期选择的方法(datepicker)

    element-ui 限制日期选择的方法(datepicker)

    本篇文章主要介绍了element-ui 限制日期选择的方法(datepicker),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 基于VuePress 轻量级静态网站生成器的实现方法

    基于VuePress 轻量级静态网站生成器的实现方法

    VuePress是一个基于Vue的轻量级静态网站生成器以及为编写技术文档而优化的默认主题。这么文章给大家详细介绍了vuepress 静态网站生成器的方法,需要的朋友参考下吧
    2018-04-04
  • 详解Vue3的组合式API中如何使用computed属性

    详解Vue3的组合式API中如何使用computed属性

    在Vue中,computed属性是一种计算属性,它的值是根据其他数据的值动态计算出来的,下面小编主要来和大家聊聊Vue 3的组合式API中如何使用computed属性,感兴趣的小伙伴快跟随小编一起了解一下吧
    2023-06-06
  • Vue.JS项目中5个经典Vuex插件

    Vue.JS项目中5个经典Vuex插件

    在本文中,将向你展示5个特性,你可以通过 Vuex 插件轻松地添加到下一个项目中。一起来学习下。
    2017-11-11
  • Vue实现简易记事本

    Vue实现简易记事本

    这篇文章主要为大家详细介绍了Vue实现简易记事本,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • VUE axios每次请求添加时间戳问题

    VUE axios每次请求添加时间戳问题

    这篇文章主要介绍了VUE axios每次请求添加时间戳问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue.js实现仿原生ios时间选择组件实例代码

    vue.js实现仿原生ios时间选择组件实例代码

    本篇文章主要介绍了vue.js实现仿原生ios时间选择组件实例代码,具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12

最新评论