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

  • 联想小新15键盘灯怎么开(联想小新15键盘背光灯怎么开)

    联想小新15键盘灯怎么开(联想小新15键盘背光灯怎么开)

  • 微博的视频怎么保存到手机相册(微博的视频怎么下载)

    微博的视频怎么保存到手机相册(微博的视频怎么下载)

  • 魅族18的分辨率是多少(魅族18分辨率ppi)

    魅族18的分辨率是多少(魅族18分辨率ppi)

  • 文件过大qq发不了的解决方法(文件过大qq发不了怎么办手机)

    文件过大qq发不了的解决方法(文件过大qq发不了怎么办手机)

  • 华为m6电脑模式有什么用(华为M6电脑模式打不开)

    华为m6电脑模式有什么用(华为M6电脑模式打不开)

  • iphone辅助触控打开不显示(iphone辅助触控失灵)

    iphone辅助触控打开不显示(iphone辅助触控失灵)

  • 苹果11电池健康多久会掉百分之一(苹果11电池健康80%还能用多久)

    苹果11电池健康多久会掉百分之一(苹果11电池健康80%还能用多久)

  • 华为手环4能显示微信内容吗(华为手环4能显示卡路里吗)

    华为手环4能显示微信内容吗(华为手环4能显示卡路里吗)

  • xsmax支持wifi6吗

    xsmax支持wifi6吗

  • 微信提醒怎么取消(微信提醒怎么取消安卓)

    微信提醒怎么取消(微信提醒怎么取消安卓)

  • 苹果音频坏了什么症状(苹果音频坏了修一下多少)

    苹果音频坏了什么症状(苹果音频坏了修一下多少)

  • 惠普1108怎么加墨(惠普laserjetp1108加墨)

    惠普1108怎么加墨(惠普laserjetp1108加墨)

  • 为什么b站视频加载不出来(为什么b站视频会绿屏)

    为什么b站视频加载不出来(为什么b站视频会绿屏)

  • 不是5g手机版5g套餐有用吗(不是5g手机能用5g网络么)

    不是5g手机版5g套餐有用吗(不是5g手机能用5g网络么)

  • 电脑主机亮红灯是什么原因(电脑主机亮红灯显示器无信号)

    电脑主机亮红灯是什么原因(电脑主机亮红灯显示器无信号)

  • 抖音直播很卡是什么原因(抖音直播卡是网络原因还是手机)

    抖音直播很卡是什么原因(抖音直播卡是网络原因还是手机)

  • 拼多多扫一扫在哪(拼多多扫一扫在哪里二维码)

    拼多多扫一扫在哪(拼多多扫一扫在哪里二维码)

  • 运算器和什么合称为cpu(运算器和什么的结合体称为cpu)

    运算器和什么合称为cpu(运算器和什么的结合体称为cpu)

  • vivos1pro多少分钟能充满(vivos1pro充电几小时)

    vivos1pro多少分钟能充满(vivos1pro充电几小时)

  • boss直聘被锁定了怎么处理(boss直聘被锁定多久解封)

    boss直聘被锁定了怎么处理(boss直聘被锁定多久解封)

  • 迅雷文件夹叫什么名字(迅雷文件夹叫什么名字电脑)

    迅雷文件夹叫什么名字(迅雷文件夹叫什么名字电脑)

  • 骚扰电话怎么解除标记(总是被骚扰电话骚扰怎么办)

    骚扰电话怎么解除标记(总是被骚扰电话骚扰怎么办)

  • 为什么抖音作品是0但是有动态(为什么抖音作品浏览量越来越少)

    为什么抖音作品是0但是有动态(为什么抖音作品浏览量越来越少)

  • 如何永久保存网课(如何永久保存网课视频)

    如何永久保存网课(如何永久保存网课视频)

  • 闲鱼永久禁言能解除么(闲鱼永久禁言能否解除)

    闲鱼永久禁言能解除么(闲鱼永久禁言能否解除)

  • 云闪付能扫微信吗(云闪付能扫微信和支付宝吗)

    云闪付能扫微信吗(云闪付能扫微信和支付宝吗)

  • 小规模季度不超过30万是含税还是不含税
  • 什么是纳税义务人,在理解这一观念时应注意哪些问题
  • 计提工会经费的科目
  • 怎么计提固定资产折旧科目
  • 建筑业无票支出
  • 预缴所得税年底怎么结转
  • 完税证明可以重复打印吗
  • 冲红退税流程
  • 城市基础设施配套有哪些
  • 一般纳税人所得税是季报还是月报
  • 证券公司清算交收
  • 农产品销售发票可以抵扣吗?
  • 企业清算时未抵扣的进项税账务处理
  • 银行承兑汇票向谁追索
  • 增值税征收比例和征收方式
  • 营改增后开不了增值税发票怎么样办?
  • 餐饮发票税钱
  • 后续支出均应计入当期损益
  • 建筑企业在境外施工税收一共包括几个部分
  • 在固定资产中
  • 增值税税率如何计算
  • 抵债资产处置的意义
  • 企业增值税征收时间
  • 所得税汇算清缴退税会计分录怎么做
  • win10运行红色警戒2卡顿
  • 出售房产会计账务处理
  • 联想昭阳k41笔记本
  • 外币债券汇兑损益怎么算
  • PHP:Memcached::__construct()的用法_Memcached类
  • 单位银行结算账户属于活期存款账户
  • 龙骨花的养殖方法作用
  • 稀有品种茅膏菜
  • 设备经营租赁属于什么行业
  • 个人签订借款合同
  • 支付的招标代理费计入成本还是费用
  • 什么是对账单的回函
  • 公户发工资必须是员工账号必须是公户开户行吗
  • uni-app编译
  • 新必应申请使用资格
  • 数学建模 比赛
  • php红包源码
  • 社保清算是怎么回事
  • 待处理财产损溢借方是增还是减
  • 一个残疾证一年单位免多少税2023
  • 税控盘维护费每年都要交吗
  • 中付支付科技有限公司备付金
  • 分公司注册独立核算还是非独立核算
  • 劳务外经证预缴税款
  • 建筑租赁公司是什么意思
  • 租赁公司开票没有写数量可以开吗?
  • 饭店开业多久可以正常
  • 机票的退票费会退到哪里
  • 房地产开发成本测算套表(全过程)
  • 财政授权支付的概念
  • 仓库费用计入什么科目
  • 股东分红入什么科目利润分配~应付利润
  • java下一页
  • windowsxp电脑开机
  • 苹果mac系统复制粘贴不了
  • win10怎么打开语言设置
  • win8系统开机
  • 雨林木风软件网
  • 教你如何解决蓝光机/KODI无法打开局域网smb共享的问题
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • win7系统使用ituns设置iphone铃声图文教程
  • 简单射击原理
  • cocos2d动画
  • eclipse如何调节字体
  • js 图像
  • jquery.browser
  • js数组的push方法
  • 黑龙江省税务局领导最新分工
  • 青岛胶州国际机场在哪个区
  • 年应税销售额超过小规模纳税人标准的企业
  • 增值税专用发票电子版
  • 教育培训行业的发展
  • 深圳市保安证办理流程
  • 按照5%的征收率减按1.5%计算应纳税额是什么意思
  • 增+6=多少
  • 企业所得税年报什么时候开始申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设