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

  • 房屋租赁服务增值税税率是多少
  • 小规模纳税人月收入多少免征增值税
  • 运输货车折旧计算公式
  • 无发票的费用怎样补交所得税
  • 出租车发票可以重新打印吗
  • 计提工资和实际发放工资必须一致吗
  • 发票采集即征即退怎么填
  • 财务发票报销时限是多久
  • 经营性项目应收减少额怎么算
  • 未加工食材
  • 初期厂房监理费怎么做账?
  • 京东企业提现
  • 电子缴税付款凭证
  • 企业所得税申报流程图
  • 增值税附加税可以抵扣吗?
  • 小规模纳税人销售农产品税率是多少
  • 股票期权所得税率
  • 企业汇算清缴前的票可以入账吗
  • 计提应付利息编制记账凭证用什么原始凭证?
  • 建筑业购买材料入什么会计科目
  • 红字负数发票可以抵扣吗
  • 增值税的特殊销售方式有哪些?税务处理时怎样的?
  • 去年的发票可以红冲重新开具吗?
  • 苹果手机上显示
  • 出口发票汇率按照报关单什么时间计算
  • 贸易公司成本怎么计算
  • 汇算清缴申报表怎么填
  • 会议费计入什么二级科目
  • 长期病假解除劳动合同怎么赔偿
  • $(window).resize
  • 尿急尿频尿不尽吃什么药效果好
  • 本地运行库是什么
  • 公司购买股票的流程
  • 八仙花的养殖方法冬季怎么养
  • 森林里雾气弥漫,给大家带来了什么困难?
  • laravel如何使用前端的纯静态页
  • laravel启动流程
  • 雷尼尔国家公园攻略
  • yolov5的使用
  • jedis命令
  • php多进程处理大数据
  • runas命令详解
  • 现金流是什么意思举例
  • 即征即退进项税怎么划分合算
  • 施工企业会计科目
  • 企业开办费如何在税前扣除
  • 出售无形资产和固定资产计入什么科目
  • 不征收耕地占用税的是
  • 收到赞助费怎么回复客户
  • 收到政府补助的会计分录
  • 公司缴纳个人所得税有什么用
  • 成品油购进数据选择没有发票
  • 电商行业的采购
  • 事业单位非税收入帐务处理
  • 资本化利息支出在报表哪里
  • 公司的日常费用支出能税前全部扣除吗?
  • 如何审计主营业务收入的真实性问题
  • 小规模纳税人销售自己使用过固定资产
  • 连锁药店之间调拨药品
  • 银行对账单上借贷方什么意思
  • mysql5.7版本的服务的名字是
  • xp系统找不到搜索功能
  • windows2003远程连接
  • windows2003硬盘分区
  • 轻轻松松在树枝上摘果子用什么成语
  • centos如何安装vim
  • qclean.exe - qclean是什么进程 有什么用
  • 快速解决便秘的小妙招
  • 怎样判断滚动和滑动
  • android images
  • perl命令
  • python如何将矩阵转为图像
  • js 页面加载
  • 电子税务局浏览器版本太低
  • 12366纳税服务热线工作时间
  • 江苏国税电子税务局打印机设置
  • 深圳电动车怎么注册登记
  • 办理增值税一般纳税人所需资料
  • 1国家税务总局
  • 金水区地税局办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设