vue+wangEditor编辑器,上传图片请求后台接口

news/2024/10/15 15:58:04

来吧,先给大家看一下,是否是你想要的简单轻便编辑器的效果。

父组件:

<EditorView :content="value" @change="grtUrl"/><script>
import EditorView from "@/components/EditorView";
export default {components: {EditorView}},data() {return {value: ""  //传值给编辑器
    }
},methods: {grtUrl(val){this.value = val;}}
}
</script>

 

 子组件:

<template><div><div id="editor"></div></div>
</template><script>
import E from "wangeditor";
import { uploadImg } from "@/utils/uploadImg";export default {name: "WangEditor",data() {return {result: "",editor: null, // WangEditor 实例
    };},props: {content: {type: String,default: "",},},watch: {// 当父组件传入的 content 变化时,更新编辑器内容
    content(newContent) {if (this.editor && newContent !== this.editor.txt.html()) {this.editor.txt.html(newContent);}},},mounted() {this.editor = new E("#editor");// 配置 server 接口地址this.editor.config.showLinkImg = false; //即可隐藏插入网络图片的功能// 配置菜单this.editor.config.menus = ["head", // 标题"bold", // 粗体"fontSize", // 字号"fontName", // 字体"italic", // 斜体"underline", // 下划线"strikeThrough", // 删除线"foreColor", // 文字颜色"backColor", // 背景颜色"link", // 插入链接"list", // 列表"justify", // 对齐方式"quote", // 引用"emoticon", // 表情"image", // 插入图片"table", // 表格// 'video', // 插入视频// 'code', // 插入代码"undo", // 撤销"redo", // 重复"fullscreen", // 全屏"indent","lineHeight","todo","splitLine",];this.editor.config.customUploadImg = function (resultFiles, insertImgFn) {// resultFiles 是 input 中选中的文件列表// insertImgFn 是获取图片 url 后,插入到编辑器的方法
      const formData = new FormData();formData.append("file", resultFiles[0]);// 调用后台上传图片接口
      uploadImg(formData).then((res) => {insertImgFn(res.data.url); // 页面插入图片
      });};this.editor.config.onchange = (html) => {this.content = html; // 绑定当前逐渐地值this.$emit("change", this.content); // 将内容同步到父组件中
    };this.editor.create();console.log("重新设置编辑器内容", this.content);},beforeDestroy() {// 销毁编辑器实例,释放资源if (this.editor) {this.editor.destroy();}},
};
</script>

 

 文件路径在src/utils/uploadImg下

import request from "./request";
// 图片上传
export const uploadImg = (formData) => {return request.post("/qiegang-system/api/v1/files", formData, {headers: {"Content-Type": "multipart/form-data",},});
};

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

汽车开发流程管理工具赋能安全与质量

经纬恒润能够提供Stages的咨询及工程服务能力,同时在ALM实施、ASPICE、功能安全、预期功能安全等有着丰富的咨询经验,帮助客户共同构建一个更高的安全标准和质量水平。 随着数字化、人工智能、自动化系统及物联网技术的迅速发展,工程驱动型企业正面临重大转型挑战,亟…

汽车电控 01

汽车电控1、车体 本身必要的电子设备 如 发动机,底盘,车身电子控制系统等。 2、车载 不是必要的电子设备 如 音响 空调 导航。车用传感器温度传感器压力传感器转速传感器爆震传感器流量传感器移位传感器气体浓度传感器

网络数据请求

测试可跳过域名校验

springboot 项目引入tk或者jpa 访问报错

今天弄新框架的时候,遇到个莫名其妙的问题,如下: springboot 项目引入tk 后 Caused by: java.lang.IllegalStateException: Failed to asynchronously initialize native EntityManagerFactory: java.lang.NoSuchMethodError: javax.persistence.ValidationMode javax.persi…

苹果电脑Mac数据恢复

一、使用内置工具恢复 Time Machine Time Machine是Mac自带的备份工具,可以定期备份整个系统或特定文件。如果已使用Time Machine备份了数据,那么恢复数据将非常简单。将备份硬盘连接到电脑上,然后打开Time Machine,选择需要恢复的文件或文件夹,再点击“恢复”即可。 2.iC…

鲸鸿动能广告助力App流量高效变现,促进商业增长

广告是App开发者实现流量变现的常用方法之一。当App积累了一定数量的用户后,开发者需要考虑如何有效地将流量转化为收入,以支持App的商业可持续增长。 HarmonyOS SDK广告服务(Ads Kit)提供了鲸鸿动能流量变现服务,依托华为终端强大的平台与数据能力为开发者提供App流量变现…

支持向量机 --优化

支持向量机 1. 支持向量 SVM 最优化问题 SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。任意超平面可以用下面这个[线性方程]来描述: \[\omega ^ T x +b=0 \]二维空间点$ (x,y)$ 到直线$ Ax+By+C=0$​ 的距离公式是: \[\frac{|Ax+By+C|}{\sqrt…

2024/10/15第三次人工智能

一:从教育者角度理解AI规则基础系统(教学大纲和课程设置) 2.机器学习(学生通过练习提高技能) 3.深度学习(高阶思维能力的培养) 4.预训练(扩充语料库/学生在正式教育前的知识积累) 5.微调(针对特定任务的专业训练/学科专业化) 6.推理(模型根据输入生成输出文本/学生解答问题的过…