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

  • 企业应该怎么做网络营销(高质量发展企业应该怎么做)

    企业应该怎么做网络营销(高质量发展企业应该怎么做)

  • airpods可以分开独立使用吗(airpods可以分开用吗)

    airpods可以分开独立使用吗(airpods可以分开用吗)

  • 怎样关闭icloud不失去照片(怎么能关闭icloud)

    怎样关闭icloud不失去照片(怎么能关闭icloud)

  • 怎么查行程码详细记录(怎么查行程码?)

    怎么查行程码详细记录(怎么查行程码?)

  • 苹果11微信怎么换全黑色主题(苹果11微信怎么开美颜视频聊天)

    苹果11微信怎么换全黑色主题(苹果11微信怎么开美颜视频聊天)

  • 闲鱼怎么开通消费者保障服务(闲鱼怎么开通消费者权益)

    闲鱼怎么开通消费者保障服务(闲鱼怎么开通消费者权益)

  • 微信群踢人找不到人怎么回事(微信群踢人找不到群成员怎么办)

    微信群踢人找不到人怎么回事(微信群踢人找不到群成员怎么办)

  • 锐族mp3怎么用手机下载音乐(锐族mp3怎么用手机下载电子书)

    锐族mp3怎么用手机下载音乐(锐族mp3怎么用手机下载电子书)

  • 微信文件打不开提示第三方(微信文件打不开怎么办)

    微信文件打不开提示第三方(微信文件打不开怎么办)

  • 条件式转接开启是什么意思(什么是条件式转接)

    条件式转接开启是什么意思(什么是条件式转接)

  • 电脑家庭版和专业版有什么区别(电脑家庭版和专业版在硬件上有区别吗)

    电脑家庭版和专业版有什么区别(电脑家庭版和专业版在硬件上有区别吗)

  • 手机上能注销手机卡吗(手机上能注销手机号码吗?)

    手机上能注销手机卡吗(手机上能注销手机号码吗?)

  • 快手粉丝从黑名单移出后为什么就没有了(快手粉丝黑名单怎么解除)

    快手粉丝从黑名单移出后为什么就没有了(快手粉丝黑名单怎么解除)

  • 手机接收不到短信是怎么回事(手机接收不到短信验证码是怎么回事)

    手机接收不到短信是怎么回事(手机接收不到短信验证码是怎么回事)

  • 小米8能用5a快充数据线吗(小米8能用5v4a的充电吗)

    小米8能用5a快充数据线吗(小米8能用5v4a的充电吗)

  • iphone11主题商店在哪里(苹果手机11主题商店在哪)

    iphone11主题商店在哪里(苹果手机11主题商店在哪)

  • 为什么siri只能打字(为什么siri只能回答一次)

    为什么siri只能打字(为什么siri只能回答一次)

  • Reno Ace怎么打开开发者选项(reno ace rom)

    Reno Ace怎么打开开发者选项(reno ace rom)

  • 抖音app闪退怎么解决(抖音app闪退是什么原因)

    抖音app闪退怎么解决(抖音app闪退是什么原因)

  • miui10怎么看屏幕使用时间(miui查看屏幕)

    miui10怎么看屏幕使用时间(miui查看屏幕)

  • 钉钉怎么开启共享桌面(钉钉怎么开启共享屏幕功能)

    钉钉怎么开启共享桌面(钉钉怎么开启共享屏幕功能)

  • 手机怎么控制小米风扇(手机怎么控制小度打开摄像头)

    手机怎么控制小米风扇(手机怎么控制小度打开摄像头)

  • Linux连接windows的ftp unzip出现问题的解决方法(linux连接windows的服务redis)

    Linux连接windows的ftp unzip出现问题的解决方法(linux连接windows的服务redis)

  • Win10版本20H2/2004 Build 19042.746/19041.746累积更新补丁KB4598242推送(Win10版本21H2卡死)

    Win10版本20H2/2004 Build 19042.746/19041.746累积更新补丁KB4598242推送(Win10版本21H2卡死)

  • 税金及附加二级明细
  • 不含税买货合法吗
  • 购买厂房需要交土地使用税吗
  • 开民工工资专户
  • 借款利息收入要开票吗
  • 企业对公账户转法人私户
  • 慰问金计入什么明细科目
  • 汇算清缴的费用标准
  • 建筑企业怎么转让
  • 如何确定电动车电池是新电池
  • 小规模纳税人小微企业免税销售额
  • 小规模纳税人转让土地使用权
  • 装修费能否一次性支付
  • 金融企业计提的坏账准备金
  • 收款费用明细表
  • 餐饮业购买餐桌椅会计分录
  • 哪些发票不可进行进项税抵扣?
  • 进出口企业如何防范汇率风险
  • 应收账款预付账款属于什么科目
  • 土地证是商业用地
  • 收到住房补贴怎么做账
  • 发票开了收不到钱
  • 融资租赁业务如何纳税
  • 挂靠车辆可以抵扣进项税么?
  • mac打不开网页但是可以上微信
  • windows全部禁用
  • 出口报关单有什么用
  • 出纳现金管理的目标与方法
  • excel中怎么截取
  • 电脑安全系统无法启动怎么办
  • 所得税费用怎么缴纳
  • 生产员工福利计什么科目
  • 会计编录怎么做
  • 公司分立土地涉税问题
  • 吃辣第二天长痘痘
  • 固定资产盘盈为什么要调整所得税
  • 广告费与业务宣传费不超过当年销售收入
  • 公司变更需要哪些资料~问华杰 财务
  • vue pending
  • 一学就会的人是天才吗
  • day02-HTML02
  • 购买办公用品没有合同缴纳印花税吗
  • 应付票据是供应商往来吗
  • ibm_db_dbi
  • mongodb4
  • 主营业务收入含义
  • 个体户开票额度超了
  • 转让土地如何做会计分录
  • 我们可以收到很多礼物
  • 月末进项税大于销项税额怎么结转
  • 用人单位垫付生育津贴垫付金额和垫付天数
  • mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法
  • 企业转移地点剩余房产
  • 以固定资产换入库存商品
  • 制造费用如何控制
  • 赠送成本的会计分录
  • 卸车费属于什么费用类别
  • 三代个税返还算什么费用
  • 预收账款是什么资产
  • sql将一个数据库的表导入到另一个数据库
  • mysql5.7压缩包
  • mysqldump -w
  • xp系统安装惠普1010教程
  • Win10 PC RS2快速预览版14926更新与修复内容汇总
  • win10系统如何查找文件
  • win7电脑显示屏显示不全怎么调整
  • win10系统设置锁屏密码
  • Win10系统里的Smartscreen筛选器的使用以及开启方法
  • unity小技巧
  • cocos2d教程
  • NGUI的UIScrollview的优化
  • jquery mobile app案例
  • python网络爬虫程序
  • 使用Python对MySQL数据操作
  • python访问地址
  • jquery遍历对象使用的方法
  • 个人出租商铺要交土地使用税吗
  • 税控发票开票软件提示非征期不得抄报税?是什么意思?
  • 杭州国税电话
  • 无纸化同义词
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设