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

  • 荣耀play4pro刷新率是60还是90(荣耀play4pro刷新率是多少)

    荣耀play4pro刷新率是60还是90(荣耀play4pro刷新率是多少)

  • 如何选购笔记本电脑(如何选购笔记本配置参数)

    如何选购笔记本电脑(如何选购笔记本配置参数)

  • 美版iphonexr双卡双待吗(美版iphonexr双卡还是单卡)

    美版iphonexr双卡双待吗(美版iphonexr双卡还是单卡)

  • 苹果11pro和11 promax区别(苹果11pro和11promax哪个续航好)

    苹果11pro和11 promax区别(苹果11pro和11promax哪个续航好)

  • 怎么看手机定位是不是北斗(怎么看手机定位去过哪里)

    怎么看手机定位是不是北斗(怎么看手机定位去过哪里)

  • 淘宝卖家能看到访客吗(淘宝卖家能看到买家的支付宝账号吗)

    淘宝卖家能看到访客吗(淘宝卖家能看到买家的支付宝账号吗)

  • 荣耀各系列手机特点(荣耀各系列手机发布时间)

    荣耀各系列手机特点(荣耀各系列手机发布时间)

  • 路由器内存满了怎么清理(路由器内存满了,需要更换吗)

    路由器内存满了怎么清理(路由器内存满了,需要更换吗)

  • 手机欠费了怎么查本机号码(手机欠费了怎么办理临时复机)

    手机欠费了怎么查本机号码(手机欠费了怎么办理临时复机)

  • 小红书怎么增加浏览量(小红书怎么增加流量)

    小红书怎么增加浏览量(小红书怎么增加流量)

  • 感染计算机病毒的原因之一是什么(感染计算机病毒的计算机具有对该病毒的免疫性)

    感染计算机病毒的原因之一是什么(感染计算机病毒的计算机具有对该病毒的免疫性)

  • 自己抖音怎么关掉水印(如何关闭自己抖音)

    自己抖音怎么关掉水印(如何关闭自己抖音)

  • 主机打开了为什么显示屏一直黑屏(主机打开了为什么显示屏没有反应)

    主机打开了为什么显示屏一直黑屏(主机打开了为什么显示屏没有反应)

  • 云储存是存到哪里去了(云存储?)

    云储存是存到哪里去了(云存储?)

  • ipad可以用动态壁纸吗(ipad能用动态壁纸么)

    ipad可以用动态壁纸吗(ipad能用动态壁纸么)

  • 根号符号手机怎么打出(手机里的根号这个符号从哪里找)

    根号符号手机怎么打出(手机里的根号这个符号从哪里找)

  • 华为畅享10s什么处理器(华为畅享10s参数)

    华为畅享10s什么处理器(华为畅享10s参数)

  • 三星手机截屏怎么操作(三星手机截屏怎么截用什么键呢)

    三星手机截屏怎么操作(三星手机截屏怎么截用什么键呢)

  • 笔记本连显示器用什么线(笔记本连显示器老是黑屏)

    笔记本连显示器用什么线(笔记本连显示器老是黑屏)

  • 陌陌被对方拉黑是什么样(陌陌被对方拉黑怎么办)

    陌陌被对方拉黑是什么样(陌陌被对方拉黑怎么办)

  • SSDP Discovery Service 是什么可以禁用吗

    SSDP Discovery Service 是什么可以禁用吗

  • 深入学习 JavaScript 转译器 Babel ,AST还原混淆代码(java deep learning)

    深入学习 JavaScript 转译器 Babel ,AST还原混淆代码(java deep learning)

  • 【uniapp】上拉触底加载更多的两种方式,组件里面和页面里面 scroll-view组件和onReachBottom触底方法,以及部分安卓机型scroll-view很难触发问题,且可以固定表头(uniapp scroll-view 上下滑动)

    【uniapp】上拉触底加载更多的两种方式,组件里面和页面里面 scroll-view组件和onReachBottom触底方法,以及部分安卓机型scroll-view很难触发问题,且可以固定表头(uniapp scroll-view 上下滑动)

  • 异地预缴附加税需要计提吗
  • 一般纳税人劳务派遣
  • 滴滴出行怎么弄电子发票
  • 出口退税转内销会计分录
  • 预缴企业所得税怎么做会计分录
  • 个体户不足征是否要交房产税
  • 销售大型设备的税率
  • 前年购买的设备怎么入账
  • 怎样进行房产置换的账务处理
  • 逾期不缴纳税款责令限改期限内改正的
  • 计提资产减值准备金的纳税调整
  • 资本回收系数怎么求
  • 存在问题的具体表现和产生问题的原因分析
  • 工会经费怎样申报
  • 以公允价值计量且变动计入其他综合
  • 伙食支出设立的明细
  • 企业所得税退税的会计分录怎么做
  • 农业企业销售林木是否要交印花税?
  • 注册资本没有缴足前贷款利息
  • 递延所得税费用为负数是什么意思
  • 停车费专用发票可以抵扣进项税吗
  • 水利建设专项收入税率
  • 未开票增值税怎么申报
  • 广告费发票收到但是不抵扣怎么做账?
  • 暂估成本一直拿不到发票
  • 生产成本中材料款年末要全部结转吗
  • 个人在杂志上发表散文取得的所得
  • 公司有物业管理部门吗
  • 利润总额和净利润的区别
  • 上月预提的费用怎么记账
  • 进项发票大过销项,退税只退13个点的增值税吗
  • dll格式的文件
  • html前端技术
  • 公司收入可以打折吗
  • php运行js代码
  • 年终奖一般发什么奖品
  • 周转材料摊销是什么科目
  • 工业厂房修缮工程需要报建吗
  • tensorflow2安装
  • 2023跨年代码大全可复制免费
  • 递归是从底向上逐层计算的
  • 帝国cms生成app
  • access创建一个表
  • mongodb最新版本
  • dedecms怎么改图片
  • 赔偿的费用
  • 抚恤金发放标准2019年
  • 综合所得汇算清缴是什么意思
  • 预付款项为什么这么多
  • 过了汇算清缴还能调整以前年度
  • 营业税金及附加是什么科目
  • 火车票可以抵扣进项吗
  • 进项税转出金额怎么算
  • 营业利润净利润利润总额的区别
  • 养老保险减免退税政策
  • 发票冲红重开,重开时是按新税率还是旧税率?
  • 投资性房地产从成本模式转为公允价值模式
  • 手工现金日记账范本
  • sql中varchar和number比较
  • mac系统操作教程
  • windows10怎样安装
  • centos创建一个文件
  • win7进入dos的方法
  • linux装完显卡驱动分辨率低
  • qt rgb颜色
  • 主流安卓开发
  • perl 排序
  • 编写高质量代码改善JAVA程序的151个建议
  • linux怎样添加用户
  • JavaScript开发技巧
  • express的中间件
  • jquery日历插件代码
  • javascript怎么学
  • 上海个人所得税优惠政策
  • 中央与地方增值税
  • 内蒙地税个人所得税标准
  • 达州房管局备案查询系统
  • 北京昌平区租房价格
  • 税务检查的程序
  • 车没交车船税上路什么后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设