markdown富文本编辑器(md-editor-v3)-自定义扩展工具栏
需求
1.在原有的md-editor-v3上扩展一个自定义工具栏,”添加附件“;
2.可以通过链接上传附件,同时也可以直接上传附件;
3.上传后,在指定区域(md编辑器的编辑区)以a链接的形式插入内容;
4.点击该链接后,可以实现下载
预期效果:
选择添加链接
部分重要代码
<md-editor
ref="mdEditorRef"
v-model="text"
:auto-detect-code="true"
style="height: 100%"
:toolbars-exclude="[github, save]"
:toolbars="toolbars" //定义toolbars
:show-code-row-number="true"
@on-upload-img="onUploadImg"
@on-change="onChange"
>
<template #defToolbars> //自定义工具
<DropdownToolbar
title="附件"
:visible="appendixVisible"
:on-change="appendixVisibleChanged"
>
<template #overlay>
<div class="appendix-container">
<ul class="md-editor-menu" style="height: 56px">
<li class="md-editor-menu-item" @click="handleInsertLink">
添加链接
</li>
<li class="md-editor-menu-item">
<el-upload
ref="uploadRef"
:auto-upload="false"
:on-change="uploadAppendix"
:show-file-list="false"
accept=".jpg,.jpeg,.png,.gif,.heic,.webp,.md,.ppt,.pptx,.doc,.docx,.xls,.pdf,.rar,.zip,.7z,.gz,.tar,.xmind,.xmap"
>上传文件
</el-upload>
</li>
</ul>
</div>
</template>
<template #trigger>
<el-icon class="md-editor-icon" :size="18"
><upload-filled
/></el-icon>
</template>
</DropdownToolbar>
</template>
</md-editor>
...
import MdEditor from md-editor-v3 //安装并在需要该组件的组件内引入
import md-editor-v3/lib/style.css //引入样式文件
const DropdownToolbar = MdEditor.DropdownToolbar //使用官方的下拉组件,并在template使用
const toolbars = [
bold,
underline,
italic,
-,
title,
strikeThrough,
sub,
sup,
quote,
unorderedList,
orderedList,
task,
-,
codeRow,
code,
link,
image,
0,
table,
mermaid,
katex,
-,
revoke,
next,
save,
=,
pageFullscreen,
fullscreen,
preview,
htmlPreview,
catalog,
github
]
特别注意:当扩展工具栏时,需要在toolbars数组中预留一个位置,来显示我们新增的图标。目前md-editor-v3是通过下标来控制的。
上一篇:
Python 安装包管理工具 pip
下一篇:
Celery 异步框架执行定时任务
