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

  • “造节”成为互联网公司最常用的营销手段

    “造节”成为互联网公司最常用的营销手段

  • 小米手环6可以微信支付吗(小米手环6可以接电话吗)

    小米手环6可以微信支付吗(小米手环6可以接电话吗)

  • 华为平板自动旋转在哪里设置(华为平板自动旋转功能失效)

    华为平板自动旋转在哪里设置(华为平板自动旋转功能失效)

  • 拼多多新用户认设备吗(拼多多新用户认手机还是认手机号)

    拼多多新用户认设备吗(拼多多新用户认手机还是认手机号)

  • 耳机断在耳机孔怎么办(耳机断在耳机孔没声音怎么办)

    耳机断在耳机孔怎么办(耳机断在耳机孔没声音怎么办)

  • 分区类型mbr和gpt有什么区别(分区类型mbr和gui如何选?)

    分区类型mbr和gpt有什么区别(分区类型mbr和gui如何选?)

  • qq群可以最多多少人同时视频(qq群可以最多多少人)

    qq群可以最多多少人同时视频(qq群可以最多多少人)

  • 允许多个用户以交互使用计算机的操作系统是(允许多个用户以交换方式使用计算机的操作系统是)

    允许多个用户以交互使用计算机的操作系统是(允许多个用户以交换方式使用计算机的操作系统是)

  • 笔记本散热加铜管管用吗(笔记本散热加铜管效果)

    笔记本散热加铜管管用吗(笔记本散热加铜管效果)

  • 电脑管家打不开(华为电脑管家打不开)

    电脑管家打不开(华为电脑管家打不开)

  • 快手上充值的钱能退吗(快手充值的钱怎么退回来)

    快手上充值的钱能退吗(快手充值的钱怎么退回来)

  • iphone 8 plus多长(iphone8plus多长多少厘米)

    iphone 8 plus多长(iphone8plus多长多少厘米)

  • 手机充电一直是百分之一(手机充电一直是红色闪电)

    手机充电一直是百分之一(手机充电一直是红色闪电)

  • 电脑优酷弹幕怎么设置(电脑优酷弹幕怎么调大小)

    电脑优酷弹幕怎么设置(电脑优酷弹幕怎么调大小)

  • 苹果x和xs哪个屏幕大(苹果x和xs哪个屏幕更好)

    苹果x和xs哪个屏幕大(苹果x和xs哪个屏幕更好)

  • 电脑一键锁屏快捷键(怎么一健锁屏电脑)

    电脑一键锁屏快捷键(怎么一健锁屏电脑)

  • 手机qq怎么隐藏资料(手机qq怎么隐藏等级图标)

    手机qq怎么隐藏资料(手机qq怎么隐藏等级图标)

  • 哈罗单车扫码后不开锁(哈罗单车扫码后显示地图)

    哈罗单车扫码后不开锁(哈罗单车扫码后显示地图)

  • 红米手机怎么开usb调试(红米手机怎么开小窗口模式)

    红米手机怎么开usb调试(红米手机怎么开小窗口模式)

  • oppoa9是全网通手机吗(oppoa79全网通)

    oppoa9是全网通手机吗(oppoa79全网通)

  • 华为nova5的电池容量是多少(华为nova5的电池容量)

    华为nova5的电池容量是多少(华为nova5的电池容量)

  • 苹果地图怎么设置语音(苹果地图怎么设置粤语)

    苹果地图怎么设置语音(苹果地图怎么设置粤语)

  • 电脑应用程序打不开(电脑应用程序打开没反应)

    电脑应用程序打不开(电脑应用程序打开没反应)

  • 首涂二十一套模板带后台会员中心苹果CMSv10响应式diy高级电影主题-OK源码破解(首涂24套)

    首涂二十一套模板带后台会员中心苹果CMSv10响应式diy高级电影主题-OK源码破解(首涂24套)

  • 支付宝如何缴纳车辆购置税
  • 企业的进项税额怎么算
  • 3901100090的暂定税率
  • 契税的具体适用税率是多少
  • 两地发工资个税处理
  • 固定成本和变动成本之和称作
  • 作废的发票验旧之后怎么领取新发票
  • 收到固定资产发票抵扣进项税
  • 给个体工商户付款可以到个人账户
  • 增值税加计扣除政策
  • 如何分清进口农产品增值税抵扣率
  • 城市维护建设税怎么做分录
  • 职工教育经费8%怎么算
  • 分公司非独立核算是什么意思
  • 境内货代公司之间付美金
  • 基本户上的钱打到个人账户上,写什么用途
  • 材料存货的期末计量有何特点
  • 税务局退税收入多久到账
  • 工程结算科目属于哪一类
  • 小规模季报财务报表只看季度最后一个月的数据可以吗
  • 促销活动赠品应如何账务处理
  • 延期申报增值税罚款
  • 上个月的费用这个月开发票怎么做账
  • 生产企业出租设备如何开票
  • 事业单位固定资产处置流程
  • 科目编码首位与分类编号不符,接受此编码吗
  • 三代税款手续费是什么意思
  • 纳税人拒绝代扣代缴,扣缴义务人应当
  • 如何用python查数据
  • 防火墙老是弹出来怎么弄
  • 技术合同指什么
  • macos monterey怎么降级
  • 企业所得税怎么上传报表
  • 联想随身充评测
  • 未开票的销售收入分录
  • 计提五险一金的分录怎么写
  • 研发费用的会计和税法的不同
  • ftp指什么
  • vue 百度地图 移动端
  • thinkphp 部署
  • grad_cam
  • web前端面试常见问题
  • 什么是AI工具
  • 代垫运费的增值税可以抵扣吗
  • 简单的css特效
  • 注意力机制工作原理
  • ai线型工具介绍
  • 2023版最新最全React面试题
  • 每月计提的工资包含社保吗
  • ms sql 2012
  • 投资收益记账
  • 收到房租的租金怎么做账
  • 开票系统服务费计入什么费用
  • 增值税是主税吗
  • 路桥公司会计核算办法
  • 不动产计提折旧时间
  • 已开票未收款怎么报税
  • 价外费用计入哪个科目
  • 居间活动费用由谁负担
  • freebsd怎么用
  • ubuntu如何清理缓存
  • apache禁用trace方法
  • 如何知道自己的邮箱号
  • a4腰多大
  • jquery动态添加
  • 虚拟主机 推荐
  • js的select()方法
  • 利用forever和pm2部署node.js项目过程
  • 编写shell脚本,实现备份文件:每天18:00归档
  • js动态执行代码
  • javascipt:void
  • js 输入
  • javascript图片切换代码
  • python访问oracle
  • python中的文件
  • js新年倒计时
  • 国家税务局大厅上班时间
  • 票种核定流程审批时间
  • 青岛市税务局归谁管
  • 一般纳税人忘记报税一个月罚多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设