位置: IT常识 - 正文

mavon-editor的使用

编辑:rootadmin
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接口测试(很全面的接口测试教程)

  • airpods3可以用20w快充吗(airpods3可以用苹果快充吗)

    airpods3可以用20w快充吗(airpods3可以用苹果快充吗)

  • win10卓越性能有必要吗(w10的卓越性能开启后)

    win10卓越性能有必要吗(w10的卓越性能开启后)

  • 网易云的背景怎么换(网易云的背景怎么变成默认)

    网易云的背景怎么换(网易云的背景怎么变成默认)

  • 拼多多商家版怎么删除直播视频(拼多多商家版怎么找人工客服聊天)

    拼多多商家版怎么删除直播视频(拼多多商家版怎么找人工客服聊天)

  • ev录屏最长可以录多长时间(ev录屏最长时间)

    ev录屏最长可以录多长时间(ev录屏最长时间)

  • 华为手机小脚丫不见了(华为手机小脚丫如何关闭)

    华为手机小脚丫不见了(华为手机小脚丫如何关闭)

  • unrar windows是什么意思(unware什么意思)

    unrar windows是什么意思(unware什么意思)

  • 苹果屏幕页数怎么删除(苹果屏幕页数怎么设置)

    苹果屏幕页数怎么删除(苹果屏幕页数怎么设置)

  • 电源开关的周长大约是多少(电源开关的周长大约是多少厘米)

    电源开关的周长大约是多少(电源开关的周长大约是多少厘米)

  • oppor17怎么放内存卡(oppo手机怎么内放)

    oppor17怎么放内存卡(oppo手机怎么内放)

  • oppoa5有深色模式吗(oppoa5手机深色模式怎么打开的)

    oppoa5有深色模式吗(oppoa5手机深色模式怎么打开的)

  • 追加评价隐藏别人能看到吗(追加评价隐藏有用吗)

    追加评价隐藏别人能看到吗(追加评价隐藏有用吗)

  • 对方暂不接收文件夹是为什么(为什么对方暂时接受不了文件夹)

    对方暂不接收文件夹是为什么(为什么对方暂时接受不了文件夹)

  • 手机儿童模式有什么用

    手机儿童模式有什么用

  • 邮件撤回失败对方能看到吗(邮件撤回失败对方已经阅读邮件了吗?)

    邮件撤回失败对方能看到吗(邮件撤回失败对方已经阅读邮件了吗?)

  • oppoa79卡顿解决方法(oppoa9太卡了)

    oppoa79卡顿解决方法(oppoa9太卡了)

  • 20 gb的硬盘表示容量约为(20 gb的硬盘表示容量约为多少一个字节)

    20 gb的硬盘表示容量约为(20 gb的硬盘表示容量约为多少一个字节)

  • 手机电量显示黄颜色是什么意思(手机电量显示黄颜色怎么办)

    手机电量显示黄颜色是什么意思(手机电量显示黄颜色怎么办)

  • 微信支付二维码怎么弄(微信支付二维码图片)

    微信支付二维码怎么弄(微信支付二维码图片)

  • vivox20有nfc功能吗(vivox20有没有nfc)

    vivox20有nfc功能吗(vivox20有没有nfc)

  • 微信自启动管理在哪里(微信启动管理是自动好还是手动好)

    微信自启动管理在哪里(微信启动管理是自动好还是手动好)

  • 华为多页面视图怎么关(华为多页面视图怎么解锁)

    华为多页面视图怎么关(华为多页面视图怎么解锁)

  • 卖家账户异常多久恢复(卖家账户异常多久解除)

    卖家账户异常多久恢复(卖家账户异常多久解除)

  • 手机自带声卡怎么开(手机声卡怎么搞)

    手机自带声卡怎么开(手机声卡怎么搞)

  • 抖音完整版视频怎么看(抖音完整版视频的链接怎么获得?)

    抖音完整版视频怎么看(抖音完整版视频的链接怎么获得?)

  • 华为nova2有红外线吗(华为nova2红外线功能)

    华为nova2有红外线吗(华为nova2红外线功能)

  • 开关电源PCB排版基本规则(开关电源pcb布线规则)

    开关电源PCB排版基本规则(开关电源pcb布线规则)

  • YOLOv5-v6.0学习笔记(yolov5m)

    YOLOv5-v6.0学习笔记(yolov5m)

  • 主动学习(Active Learning,AL)的理解以及代码流程讲解

    主动学习(Active Learning,AL)的理解以及代码流程讲解

  • php接口中interface的使用方法(php接口怎么调用)

    php接口中interface的使用方法(php接口怎么调用)

  • 税负转嫁的概念是什么
  • 小型微利企业所得税率
  • 小规模未达起征点的增值税怎么做账
  • 金税四期对增值税发票的比对
  • 大巴车怎么进行营运
  • 企业年金个人所得税扣除标准
  • 从对公账户提取备用金违法吗
  • 外币报表折算差额在会计报表中应作为
  • 计提和缴纳税会计分录
  • 增资印花税缴纳时间
  • 土方运输费会计分录
  • 怎么进行利润招财
  • 国税和地税归哪里管
  • 国家税务总局2017 11号
  • 业务招待费业务宣传费
  • 维修费和配件能抵税吗
  • 更正申报增值税会产生滞纳金吗
  • 普票红冲后原件没有了怎么办
  • 服务性行业受气
  • 增值税普通发票几个点
  • 核销坏账应具备的条件
  • 企业医保分几种
  • u盘加载缓慢
  • 无法找到脚本文件c:\windows\system32
  • 安装监控违法吗
  • 局域网解决方案
  • 劳务报酬必须要和工资申报吗
  • 限额领料单一般一式几联
  • phpeach函数
  • ai作画app
  • 一般业务计算的基本步骤
  • 稳岗补贴什么时候到账
  • 长期借款的主要成本包括
  • 新旧所得税法转换规定
  • 人民法院司法警察警用装备
  • 汇算清缴时期间费用是负数
  • 当月已付款, 没收到发票怎么做账
  • mongodb运行
  • 个税申报方式是什么意思
  • sqlserver 数据迁移
  • 利润表中的利息费用是利息支出吗
  • 免抵退不得抵扣税额什么意思
  • 结转本年利润要算期初余额吗
  • 年度财务报告和年度报告
  • 财产转让按什么计征
  • 暂估入库一直没冲会怎么样
  • 为什么贷款要收手续费
  • 怎么看懂自己的收入纳税
  • 进项发票超过期限不认证怎么办
  • 借别人的承兑后期还现钱可以吗?
  • sql2000删除
  • mysql5.7慢查询
  • mac怎么共享wifi密码给iphone
  • win10网络身份验证失败
  • linux忘记root密码怎么修改
  • cmd命令符大全
  • windows10 uac关闭
  • windows8.1怎么升级
  • centos7误删除怎么恢复
  • islp2sta.exe - islp2sta是什么进程 有什么作用
  • win8怎么系统重装系统
  • linux文件权限的设置与修改
  • win7系统怎么禁用开机启动项
  • linux 有哪些
  • jquery的鼠标移入事件
  • windows e
  • 简述javascript
  • shell脚本特性
  • 网页文件的标记是
  • js怎么学扎实
  • Listview的onItemClickListener无法响应的解决方法
  • 有哪些推荐阅读的书
  • android获取屏幕内容
  • 新形势下税务工作
  • 票种删除需要怎么弄
  • 石狮纳税企业排名
  • 一般纳税人做账收费标准
  • 税务局窗口人员工作内容
  • 纳税筹划是什么课
  • 盐城购车补贴2024
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设