vue2使用富文本wangeditor

安装

npm i wangeditor --save

引用

import E from 'wangeditor';

使用

        // 富文本初始化initEditor() {this.isEdit = true;this.$nextTick(() => {this.editor = new E(this.$refs.editorElem); //绑定节点this.editor.config.height = 550; //默认高度为 300,设置高度时不需要添加单位this.editor.config.zIndex = 100;this.editor.config.placeholder = ''; //当设置为空时,可以清除提示文字this.editor.config.focus = false; //可以取消自动聚焦this.editor.config.showLinkImg = false;this.editor.config.filterJs = false;this.editor.config.uploadImgMaxLength = 1;this.editor.config.uploadImgMaxSize = 2 * 1024 * 1024; // 2Mthis.editor.config.customUploadImg = async file => {console.log(file[0]);const reader = new FileReader();reader.readAsDataURL(file[0]);const formData = new FormData();formData.append('file', file[0]);formData.append('module', 'proposal');const { data } = await Upload(formData);if (data.code === 200) {console.log(data.data.fullPath);this.editor.cmd.do('insertHTML',`<div class="proposal-content" style="text-indent:2em; font-size:16px; line-height:1.5"><img src=${data.data.fullPath} /></div`);}};// 隐藏发送消息的添加视频、表格、代码、分割线功能this.editor.config.excludeMenus = ['head','video','code','splitLine','link','list','todo','foreColor','backColor','quote','emoticon','strikeThrough', // 删除线'underline', // 下划线'italic', // 斜体'bold', // 粗体'fontSize', // 字号'fontName', // 字体];console.log('this.chapterList', this.chapterList);this.$nextTick(() => {if (this.editor == null) {this.editor.create();this.editor.txt.html('');} else {this.editor.destroy(); //判断编辑器是否被创建,如果创建了就先销毁。this.editor.create();this.$nextTick(() => {let content = '';this.chapterList.chapterContent.forEach(item => {if (item.content) {content += item.content.replace(/\n\n\n/g, '<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;').replace(/\n\n/g, '<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');content = content.replace(/\n/g, `<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`);}// 图片回显if (item.image.path) {content += `<div class="img" style="width: 100%;display: flex;flex-direction: column;justify-content: center;align-items: center;"><img src=${item.image.path} /><div style="font-size: 14px;">图${this.chapterList.chapterIndex}-${item.image.index}  <span class="img-title">${item.image.title}</span></div></div><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`;}// 表格回显if (item.table.title) {content += `<div class="table" style="width:100%;display: flex;flex-direction: column;justify-content: center;align-items: center;"><span>表${this.chapterList.chapterIndex}-${item.table.index}  ${item.table.title}</span><table border="1" cellspacing="0" cellpadding="0" style="width: 100%;"><tbody><tr>`;item.table.head.forEach(item => {content += `<th>${item}</th>`;});content += `<tr>`;item.table.content.forEach(item => {content += `<tr>`;item.forEach(item => {content += `<td>${item}</td>`;});content += `</tr>`;});content += `</tbody></table></div><div class="proposal-content" style="text-indent:2em; font-size:16px; line-height:1.5"></div>`;}});content = `<div class="proposal-content" style="text-indent:2em; font-size:16px; line-height:1.5">${content.replace(`<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`, ``).replace(new RegExp('°E。'), `°E。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`)}</div>`;this.editor.txt.html(content);});}});});},

在data(){}中定义editor:

export default {data() {return {editor: null,};},

然后根据需求调用就好了,

this.$nextTick(()=>{})中处理的数据是因为后端返回来的数据结构是数组,遍历赋值标签转字符串的处理操作,如果后端返回来的是字符串直接赋值就好了。

注意:

要使用this.$nextTick(()=>{}),有时候会有渲染不上报错的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/616067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GLES学习笔记---立方体贴图(一张图)

一、首先看一张效果图 立方体贴图 二、纹理坐标划分 如上图是一张2D纹理&#xff0c;我们需要将这个2D纹理贴到立方体上&#xff0c;立方体有6个面&#xff0c;所以上面的2D图分成了6个面&#xff0c;共有14个纹理坐标 三、立方体 上边的立方体一共8个顶点坐标&#xff0c;范围…

图像处理中常用的距离

说明 在图像处理中&#xff0c;常用的距离度量用于衡量两个向量或特征之间的差异或相似性。以下是一些常用的距离度量及其使用说明和应用场景&#xff1a; 欧氏距离&#xff08;Euclidean Distance&#xff09;&#xff1a;欧氏距离是最常用的距离度量&#xff0c;用于衡量两个…

Docker-Compose编排Nginx1.25.1+PHP7.4.33+Redis7.0.11环境

实践说明&#xff1a;基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2)&#xff0c;编排也可应用于RHEL7-9(如AlmaLinux9.1)&#xff0c;但因为docker的特性&#xff0c;适用场景是不限于此的。 文档形成时期&#xff1a;2017-2023年 因系统或软件版本不同&#xff0c;构建…

地图多点自动缩放,居中,思路和手写

效果如下 多个标记点顺次标记连接起来zoom缩放到合适等级&#xff0c;刚好能放下那么多点视野刚好在正中间 zoom 实现思路 获取多点的最大经纬度点和最小经纬度点&#xff08;这两个点相距离最远&#xff09;计算2个这两点之间的距离地图是有比例尺的&#xff0c;根据比例尺…

1.傅里叶处理图片原理和代码实现

在这里首先声明&#xff0c;本文纯粹看了别的博主的文章&#xff0c;觉得博主写的原理清晰明了&#xff0c;容易理解&#xff0c;很详细&#xff0c;在这里写一遍是作为笔记&#xff0c;方便以后再翻看时容易查找。大家可以参考下面这个博文&#xff1a; 图像的傅里叶变换_图像…

SAP OData(二)Association

Entity之间用Association来表示关联关系&#xff0c;可以同CDS view中的Association一起理解。 我们在上次已经建好实体Item的基础上&#xff0c;再建一个Header&#xff0c;其方法的重写也参考Item即可&#xff0c;然后开始本篇的探索。 一&#xff0c;构建Association 1.1…

脑科学与人工神经网络ANN的发展历程与最新研究

本文深入研究了ANN的基本概念、发展背景、应用场景以及与人脑神经网络的关系。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的…

抽奖机制模型及算法

抽奖机制 连抽保底概率模型不中概率加大模型&#xff08;抽卡保底&#xff09; 抽奖概率为n%&#xff0c;在达到某次次数后&#xff0c;每次概率比上次高m%&#xff0c;直至达到保底次数&#xff08;概率累加和为100%&#xff09;&#xff0c;当抽到极品道具时候&#xff0c;…

网络传输(TCP)

前言 我们tcpdump抓包时会看到除报文数据外&#xff0c;前面还有一段其他的数据&#xff0c;这段数据分为两部分&#xff0c;ip包头&#xff08;一般20字节&#xff09;和tcp包头&#xff08;一般20字节&#xff09;&#xff0c;一般这两个头长度和为40&#xff0c;我们直接跳…

C语言实现单向链表

1.线性表 线性表可以分成两种 一种就是顺序表 也就是我们所熟知的数组 一种是今天的主角–链表 他们两者的区别在于 前者是顺序储存元素的 即数组元素的地址值是连续的 后者则是链式储存的 节点的地址值不一定连续 2.单向链表 链表中的节点是由两部分组成的 一部分是数据域 …

SQL-DQL-基础查询

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错误&am…

制造业管理者必备技能:掌握6S管理!

当今竞争激烈的制造业领域&#xff0c;为了提高效率、优化流程&#xff0c;并实现持续创新&#xff0c;制造业管理者需要掌握一种全面、系统的管理方法——6S管理。6S管理是源自于日本的精益管理方法&#xff0c;通过整理、整顿、清扫、标准化、维持和安全这六个步骤&#xff0…

监督学习 - 决策树回归(Decision Tree Regression)

什么是机器学习 **决策树回归&#xff08;Decision Tree Regression&#xff09;**是一种机器学习算法&#xff0c;用于解决回归问题。与分类问题不同&#xff0c;回归问题的目标是预测连续型变量的值&#xff0c;而不是离散的类别。决策树回归通过构建一棵决策树来进行预测。…

力扣(leetcode)第599题两个列表的最小索引总和(Python)

599.两个列表的最小索引总和 题目链接&#xff1a;599.两个列表的最小索引总和 假设 Andy 和 Doris 想在晚餐时选择一家餐厅&#xff0c;并且他们都有一个表示最喜爱餐厅的列表&#xff0c;每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅…

基于SkyEye仿真6678处理器:实现国产操作系统ReWorks仿真运行

信号处理的数据量以及实时性的要求随着嵌入式技术的发展不断提高&#xff0c;众多厂商和研究所选择多核DSP处理器芯片去替代原有的单核DSP&#xff0c;并运行嵌入式操作系统来保证信号处理的实时性以及精确性。然而受到硬件资源或者项目实施周期限制&#xff0c;软件工程师调试…

AndroidQ修改永不休眠never

1&#xff1a;修改显示列表&#xff1a; /home/roadwell/Allwinner/SDK/A133/A133_PLUS_AndroidQV1.1NEW/android/packages/apps/Settings/res/values/arrays.xml --- a/res/values/arrays.xml b/res/values/arrays.xml -48,6 48,7 <item>5 minutes</item…

Jmerer之FTP测试

1、文件上传下载测试&#xff0c;可以使用sample:FTP请求&#xff0c;当然也可以使用HTTP Request采样器中的File Upload向服务器上传文件 2、本章重点介绍FTP请求进行文件的上传下载测试&#xff0c;添加 FTP请求&#xff0c;界面主要配置如下&#xff1a; Server Name or I…

Linux 软连接ln -s

什么是文件软链接&#xff1f; Linux 的“软连接”与windos 的"快捷方式"相似。文件软链接&#xff08;Symbolic Link 或 SymLink&#xff09;是一种特殊的文件类型&#xff0c;它实际上是一个指向另一个文件或目录的引用。创建软链接时&#xff0c;系统会建立一个新…

服务器配置 ssh 密钥登录

服务器配置 ssh 密钥登录 配置 服务器安全组策略&#xff0c;开放 ssh 22 端口&#xff0c;以 root 用户登录服务器。 配置 ssh key 登录 ssh-keygen 生成公钥和私钥对 如果不需要其他设置&#xff0c;一直回车 可以在 ~/.ssh 目录下看到两个文件&#xff0c;即刚生成的私钥…

你想要的进程知识——进程替换

进程替换 一、什么是进程替换 创建一个进程后&#xff0c;pid 以及在内核中的信息保持 保持不变,但进程所执行的代码进行替换 作用 : 通过一个进程启动另外一个进程 应用场景&#xff1a; c程序 进程替换启动python.exe 二、exec函数家族 在 Linux 系统中提供了一组用于…