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

  • WPSoffice如何插入竖排文本框

    WPSoffice如何插入竖排文本框

  • 收款码给别人有风险吗(收款码给别人有关系吗)

    收款码给别人有风险吗(收款码给别人有关系吗)

  • 苹果描述文件移除不了(苹果描述文件移除了怎么恢复)

    苹果描述文件移除不了(苹果描述文件移除了怎么恢复)

  • iphone8自动重启(iphone8自动重启怎么回事)

    iphone8自动重启(iphone8自动重启怎么回事)

  • qq文档在哪里可以找到(qq文档叫什么)

    qq文档在哪里可以找到(qq文档叫什么)

  • 什么是录屏(什么是录屏类微课)

    什么是录屏(什么是录屏类微课)

  • jmm一al00什么型号(jmm_al00参数)

    jmm一al00什么型号(jmm_al00参数)

  • 快手小店注销了还能重新开吗(快手小店注销了,几天身份证能用)

    快手小店注销了还能重新开吗(快手小店注销了,几天身份证能用)

  • 华为nova7pro有没有无线充电(华为nova7pro有没有遥控功能)

    华为nova7pro有没有无线充电(华为nova7pro有没有遥控功能)

  • 手机充电没充满就拔下来有危害吗(手机充电没充满就自动停止充电了)

    手机充电没充满就拔下来有危害吗(手机充电没充满就自动停止充电了)

  • 重新下载微信后好友还在吗(重新下载微信后怎么登录)

    重新下载微信后好友还在吗(重新下载微信后怎么登录)

  • oppor15支持红外遥控吗(oppor15有红外)

    oppor15支持红外遥控吗(oppor15有红外)

  • qq有没有儿童模式(qq儿童版叫什么名字)

    qq有没有儿童模式(qq儿童版叫什么名字)

  • 为什么3dmax安装不了(为什么3dmax安装在固态硬盘,消耗c盘的内存)

    为什么3dmax安装不了(为什么3dmax安装在固态硬盘,消耗c盘的内存)

  • 手机背光水印多久消失

    手机背光水印多久消失

  • oppor11是什么处理器(oppor11s是什么手机)

    oppor11是什么处理器(oppor11s是什么手机)

  • 华为gt2怎么使用微信(华为GT2怎么使用NFC)

    华为gt2怎么使用微信(华为GT2怎么使用NFC)

  • 苹果手机更新系统好吗(苹果手机更新系统可以玩手机吗)

    苹果手机更新系统好吗(苹果手机更新系统可以玩手机吗)

  • nova6 4g和5g手机壳通用吗(华为nova6 4g和5g的区别)

    nova6 4g和5g手机壳通用吗(华为nova6 4g和5g的区别)

  • 小米无线耳机怎么双耳使用(小米无线耳机怎么配对)

    小米无线耳机怎么双耳使用(小米无线耳机怎么配对)

  • 华为手机悬浮窗设置在哪里(华为手机悬浮窗怎么调出来)

    华为手机悬浮窗设置在哪里(华为手机悬浮窗怎么调出来)

  • 小米4悬浮球怎么开启(小米4悬浮球怎么打开)

    小米4悬浮球怎么开启(小米4悬浮球怎么打开)

  • 什么是gh(什么是Gh60键盘)

    什么是gh(什么是Gh60键盘)

  • 探探封手机ip怎么解除(探探封禁设备)

    探探封手机ip怎么解除(探探封禁设备)

  • 小米6后盖碎了影响大吗(小米6后盖碎了会不会导电)

    小米6后盖碎了影响大吗(小米6后盖碎了会不会导电)

  • 麒麟处理器是国产的吗(麒麟处理器是国产的么)

    麒麟处理器是国产的吗(麒麟处理器是国产的么)

  • iqoo怎样分屏(iqoo怎样分屏抖音)

    iqoo怎样分屏(iqoo怎样分屏抖音)

  • 小米2016101是什么型号(小米型号201601)

    小米2016101是什么型号(小米型号201601)

  • p30pro无线充电怎么用(p30 pro无线充电)

    p30pro无线充电怎么用(p30 pro无线充电)

  • 阿里巴巴如何分销(阿里巴巴如何分类产品)

    阿里巴巴如何分销(阿里巴巴如何分类产品)

  • linux查看磁盘空间命令教程(linux查看磁盘空间 命令fdisk)

    linux查看磁盘空间命令教程(linux查看磁盘空间 命令fdisk)

  • 城镇土地使用税纳税
  • 延期申报后可否延期缴纳税款
  • 一般纳税人劳务费税率是多少
  • 小规模企业免税怎么做账
  • 税率为0的发票长啥样
  • 公司给个人的补偿金需要交税吗
  • 两个账户往来款怎么做现金流量表
  • 退回以前年度教育附加费
  • 飞机票的快递费多少钱
  • 直接转让土地使用权税费
  • 新税法下广告费和业务宣传费的扣除是怎样?
  • 哪些发票可以冲红票
  • 无形资产使用费计入什么科目
  • 增值税销项税额在借方还是贷方
  • 商品房买卖合同没有约定逾期交房违约金
  • 支付收购股权款如何做账
  • 特殊销售方式下销售额的确定
  • 地税局返的个人所得税手续费多久返还?
  • 租金发票会计分录
  • 维修费和配件能抵税吗
  • 营改增后一般纳税人动产租赁税率
  • 转让土地使用权怎么交土地增值税
  • 税务总局关于四流一致解答
  • 个人投资到企业的资金入什么科目
  • 协会收取会员单位的会务费怎么做账
  • 总分公司分税
  • 水土保持补偿费是一次性征收吗
  • 往年多交的税能退吗
  • mmcexe进程异常报错
  • 电脑开机时进入bios界面快捷键
  • 退货发票会作废吗
  • 高新技术企业的研发费用加计扣除
  • php get post
  • 债券转换为普通债权
  • php响应时间
  • 分类账长什么样
  • 高新技术企业的申报条件包括以下哪些
  • 公司哪些支出费用可以扣
  • 利润表其他综合收益的税后净额计算公式
  • 深度学习:图像去雨网络实现Pytorch (二)一个简单实用的基准模型(PreNet)实现
  • 深度学习数据集—水果数据集大合集
  • 语音语言
  • 视同销售的情况有哪些?
  • 所有者权益变动表怎么填 实例
  • 福利费工会经费教育经费计提比例
  • 报表怎么报送
  • 金蝶做账流程视频
  • 个税申报数据有误
  • 调减加计抵减额什么意思
  • sql server 2005 service pack3
  • mysql命令行怎么用
  • 增值税纳税申报类型有哪些
  • 人力资本收入
  • 以前年度多缴纳房产税,可以递延次年度使用么
  • sqlserver函数语法
  • 社保个税申报是什么意思
  • 平行结转分步法各步骤的费用
  • 签订三方协议是办理实时扣税的前提,这里三方是指
  • 税控盘开具增值税专用发票步骤
  • 废料进口报关
  • 应收账款周转率计算公式
  • 代驾服务费属于哪个税收编码
  • 长期待摊费用包括增值税吗
  • 老板个人借款要纳税吗
  • mac安装mysql
  • mysql更新表中的数据
  • ubuntu18.04启用root
  • 苹果电脑的重新启动在哪里
  • linux nmap扫描端口
  • win10开机自动弹出设置界面
  • 让xp系统自动修复软件
  • xp连接到共享打印机
  • win8系统打不开exe
  • python 读中文文件
  • cocos2dx schedule
  • Bootstrap与KnockoutJs相结合实现分页效果实例详解
  • 常用dos命令详解
  • android 布局属性大全
  • 河北华盛税务师事务所
  • 国税新规
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设