位置: IT常识 - 正文

mavon-editor的使用

发布时间:2024-01-13
mavon-editor的使用

推荐整理分享mavon-editor的使用,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

mavon-editor的使用

vue3+vite+ts下安装mavon-editor 3.0.0-beta版本,效果如下: 安装

//引入样式import 'mavon-editor/dist/css/index.css';import mavonEditor from 'mavon-editor';app.use(router).use(mavonEditor).mount('#app');<template> <div class="rich" :style="{ width: width }"> <mavon-editor ref="mavon" v-model="value" :toolbars="markdownOption" :toolbars-flag="toolbarsFlag" :subfield="editPreview === 'edit'" preview-background="#fff" :box-shadow="false" :autofocus="autofocus" :placeholder="placeholder" :style="{ 'min-height': height }" :ishljs="true" :default-open="defaultopen" style="height: 100%; width: 100%" :image-click="imageClick" @change="change" @img-add="imgAdd" /></div></template><script setup lang="ts"> import { ref, watch } from 'vue'; // import Api from '@/apis'; const props = withDefaults( defineProps<{ content?: string; richHeight?: string; editPreview?: string; placeholder?: string; autofocus?: boolean; width?: string; }>(), { content: '', richHeight: '300px', editPreview: 'preview', placeholder: '', autofocus: false, width: '100%', }, ); const emit = defineEmits<{ (e: 'richVal', value: any): void }>(); const mavon = ref(); const value = ref(''); const height = ref('200px'); const toolbarsFlag = ref(false); const defaultopen = ref('preview'); const showViewer = ref(false); const previewImg = ref<any>([]); const markdownOption = ref({ bold: true, // 粗体 italic: true, // 斜体 header: true, // 标题 underline: true, // 下划线 strikethrough: true, // 中划线 mark: true, // 标记 superscript: true, // 上角标 subscript: true, // 下角标 quote: true, // 引用 ol: true, // 有序列表 ul: true, // 无序列表 link: true, // 链接 imagelink: true, // 图片链接 code: true, // code table: true, // 表格 fullscreen: true, // 全屏编辑 readmodel: true, // 沉浸式阅读 htmlcode: true, // 展示html源码 // help: true, // 帮助 undo: true, // 上一步 redo: true, // 下一步 trash: true, // 清空 save: false, // 保存(触发events中的save事件) navigation: true, // 导航目录 alignleft: true, // 左对齐 aligncenter: true, // 居中 alignright: true, // 右对齐 subfield: true, // 单双栏模式 preview: true, // 预览 }); watch( () => props.editPreview, (val) => { defaultopen.value = val; toolbarsFlag.value = val === 'edit'; }, { immediate: true, deep: true }, ); watch( () => props.content, (val) => { value.value = val; }, { immediate: true, deep: true }, ); watch( () => props.richHeight, (val) => { height.value = val; }, { immediate: true, deep: true }, ); // 后端接口设计为base64存储 const imgAdd = (pos, $file) => { mavon.value.$img2Url(pos, $file.miniurl); // var formData = new FormData(); // formData.append('file', $file); // const res: any = await api({}); // if (res.code === 0) { // mavon.value.$img2Url(pos, res.data); // } else { // mavon.value.$img2url(pos, '图片上传失败! '); // ElMessage.warning(res.errMsg); // } }; const change = (val) => { emit('richVal', val); }; const imageClick = (data) => { previewImg.value = []; previewImg.value.push(data.src); showViewer.value = true; document.documentElement.style.overflowY = 'hidden '; };</script><style scoped lang="scss"> .rich { width: 100%; height: 100%; line-height: 30px; :deep(.v-note-wrapper) { .v-note-op .v-left-item, .v-right-item { flex: none !important; -webkit-flex: none !important; -ms-flex: none !important; flex-wrap:wrap; } } }</style>

使用(编辑)

<e-rice :content="desc" placeholder="请输入" edit-preview="edit" :toolbars-flag="true" @rich-val="getDescription" />//获取富文本内容 const getDescription = (val) => { desc = val; formRef.value?.validateField('description'); };

使用(预览)

<e-rice :content="desc" edit-preview="preview" :toolbars-flag="false" rich-height="fit-content" />

注意!!!!!!mavon-editor会有xss攻击,虽然官网配置了xssoptions,但是目前vue3版本下只能适配3.0.0-beta,开启xssOptions后所有尖括号都会被转义,并且用户体验性极差,官网目前还没修复这个问题,需要自己修改源码,谨慎使用。 目前vue2可以适配v2.10.4版本开启xssOptions使用起来是没有任何问题的。

本文链接地址:https://www.jiuchutong.com/zhishi/294573.html 转载请保留说明!

上一篇:解决vue中报错 Duplicate keys detected:‘1‘. This may cause an update error.(vue运行报错)

下一篇:PostMan接口测试(很全面的接口测试教程)

  • vivo怎么关掉5g用4g(vivo手机5g怎么关闭)

    vivo怎么关掉5g用4g(vivo手机5g怎么关闭)

  • 福昕阅读器怎么合并多个pdf(福昕阅读器怎么删除pdf中的一页)

    福昕阅读器怎么合并多个pdf(福昕阅读器怎么删除pdf中的一页)

  • 荣耀9x的屏幕刷新率是90hz吗(荣耀9x的屏幕刷新率高吗)

    荣耀9x的屏幕刷新率是90hz吗(荣耀9x的屏幕刷新率高吗)

  • 华为matebook14蓝屏能退吗(华为matebook14蓝牙驱动)

    华为matebook14蓝屏能退吗(华为matebook14蓝牙驱动)

  • 微信如何添加电话号码(微信如何添加电费账号)

    微信如何添加电话号码(微信如何添加电费账号)

  • p40pro摄像头上一个小孔是干什么的(p40pro摄像头上一个小孔有灰)

    p40pro摄像头上一个小孔是干什么的(p40pro摄像头上一个小孔有灰)

  • 抖音拍同款显示网络不给力

    抖音拍同款显示网络不给力

  • iphone摄像头水雾去掉技巧(iphone摄像头有雾水)

    iphone摄像头水雾去掉技巧(iphone摄像头有雾水)

  • 闲鱼视频如何保存(闲鱼视频如何保存下来)

    闲鱼视频如何保存(闲鱼视频如何保存下来)

  • 部分选中按什么键(部分选中按什么键进行操作)

    部分选中按什么键(部分选中按什么键进行操作)

  • wps中为什么按f4没反应(wps中为什么按空格键就跳到下一行)

    wps中为什么按f4没反应(wps中为什么按空格键就跳到下一行)

  • 华为灭屏显示有必要开吗(华为手机灭屏幕显示)

    华为灭屏显示有必要开吗(华为手机灭屏幕显示)

  • 华为手机绿灯不闪烁了(华为手机绿灯不亮)

    华为手机绿灯不闪烁了(华为手机绿灯不亮)

  • 苹果电筒和相机打不开(苹果界面的相机和手电筒)

    苹果电筒和相机打不开(苹果界面的相机和手电筒)

  • 手机图片怎么左右翻转(手机图片怎么左右镜像调整)

    手机图片怎么左右翻转(手机图片怎么左右镜像调整)

  • td一lte是什么型号(td-lte什么型号)

    td一lte是什么型号(td-lte什么型号)

  • ipad如何收发普通短信(ipad怎么接收普通短信)

    ipad如何收发普通短信(ipad怎么接收普通短信)

  • static变量存在哪(static的变量可以赋值吗)

    static变量存在哪(static的变量可以赋值吗)

  • 如何让手机录的视频更清晰(如何让手机录的视频内存变小)

    如何让手机录的视频更清晰(如何让手机录的视频内存变小)

  • iqoo呼吸灯怎么开(iqoo5 呼吸灯)

    iqoo呼吸灯怎么开(iqoo5 呼吸灯)

  • 联通4ghd是什么意思

    联通4ghd是什么意思

  • oppo电话转接怎么设置(oppo 电话转接)

    oppo电话转接怎么设置(oppo 电话转接)

  • 金立手机如何取消电话拦截(金立手机如何取消锁屏广告)

    金立手机如何取消电话拦截(金立手机如何取消锁屏广告)

  • 支撑软件有哪些(支撑软件有哪些类型)

    支撑软件有哪些(支撑软件有哪些类型)

  • 怎么提升网速?有什么好方法可以提升吗?(电脑网速不好怎么提升网速)

    怎么提升网速?有什么好方法可以提升吗?(电脑网速不好怎么提升网速)

  • ubuntu22.04更换RTX 4090显卡后,安装驱动和pytorch记录

    ubuntu22.04更换RTX 4090显卡后,安装驱动和pytorch记录

  • 出口退税超期未缴税
  • 一般纳税人委托其他单位加工材料收回后直接对外销售的
  • 滴滴发票抬头怎么填
  • 适用会计制度备注怎么填?
  • 住宅小区共用部位有哪些
  • 房地产形象海报
  • 支付刻制公司印章费
  • 生产企业电梯维修方案
  • 公司固定资产丢失谁负责
  • 在文具公司工作怎么样
  • 去税务局领用发票要多久
  • 职工教育经费能抵扣进项税
  • 研发费加计扣除75%政策
  • 福利费用属于什么费用
  • 设备升级改造如何开发票
  • 个税本期收入是应发还是实发
  • 回迁安置房拆一次多少钱
  • 移动网速测试软件
  • 零售业收入
  • 房产税的征收范围为
  • win10电脑如何设置锁屏时间
  • 关闭固定在任务栏的功能
  • 驾校收入与成本的关系
  • 债权转增资本的条件
  • vmware download
  • 怎么关闭windows defender
  • 评估价格是按原值还是净值
  • 企业自产自用产品要交增值税吗?
  • win10 打开远程连接
  • 企业购进商品取得的现金折扣
  • 在建工程可以计入资本性支出吗
  • 国有企业融资方案比较
  • 新的担保法是怎么规定的
  • 在报税显示缺少税种信息
  • ChatGPT5是否会影响人类的发展和工作?
  • git代码提交规范
  • php post数据
  • 个税在工资里怎么计提
  • 劳务分包的形式有哪些
  • 超市小票可以作为证据吗
  • mongodb分片技术
  • SQL Server FileStream详解
  • 哪些情况不能开专用发票
  • sql优化的方法及思路
  • sql常用优化技巧
  • 股权投资所得是什么
  • 拨缴经费收入
  • 汽车4s店收到保险佣金做账
  • 代扣税是不是社保
  • 支付劳务公司的劳务费如何扣缴个人所得税?
  • 单位社保缴费收费标准
  • 租赁的初始直接费用有哪些
  • 本年利润月末怎么处理
  • mysql隔离级别详解
  • centos7安装MySQL5.6
  • 酷炫技术:使用ssh登录管理windows系统
  • win7系统如何提升性能
  • win8怎么锁定屏幕
  • centos6.8安装不上
  • linux中使用fdisk命令进行硬盘分区
  • STMGR.EXE - STMGR是什么进程
  • win10连无线网络受限
  • 如何查看windows使用痕迹
  • windows7使用
  • linux awk nr
  • opengl的坐标系
  • qt底层绘图引擎
  • jquery animation
  • css的transition和animation
  • perl-v
  • shift妙用之解决shell编程中的入参问题
  • jquery制作下拉菜单
  • express.js教程
  • nodejs处理excel
  • 网页的子页面
  • 国家税务总局2012年20号公告
  • 浙江税务打不开,提示新版本
  • 先征后返的增值税计入哪个科目
  • 泗洪临淮公交车运行时间表
  • 黄金消费税如何算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号