wangeditor富文本编辑器的使用(vue)
官网
官方demo
参考
安装
yarn add @wangeditor/editor
yarn add @wangeditor/editor-for-vue
封装的富文本组件
<template><div style="border: 1px solid #ccc"><Toolbarstyle="border-bottom: 1px solid #ccc":editor="editorRef":defaultConfig="toolbarConfig":mode="mode"/><Editorstyle="height: 40vh; overflow-y: hidden"v-model="valueHtml":defaultConfig="editorConfig":mode="mode"@onCreated="handleCreated"/></div>
</template>
<script>
import "@wangeditor/editor/dist/css/style.css"; // 引入 cssimport {onBeforeUnmount,watch,defineEmits,ref,shallowRef,onMounted,
} from "vue";
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import { message } from "ant-design-vue";
import netUrl from "@/views/miniprogram/uploadApi.js";
const token = ''
export default {components: { Editor, Toolbar },setup(props, { emit }) {// const emits = defineEmits(["onChange"]);// 编辑器实例,必须用 shallowRefconst editorRef = shallowRef();// 内容 HTMLconst valueHtml = ref("");watch(() => valueHtml,(n) => {emit("onChangeValueHtml", n.value);},{ deep: true, immediate: true });// 模拟 ajax 异步获取内容onMounted(() => {// setTimeout(() => {// valueHtml.value = "<p>模拟 Ajax 异步设置内容</p>";// }, 1500);});const toolbarConfig = {excludeKeys: ["fullScreen","readOnly","emotion","code","group-video","undo", // 撤销"redo", // 重复"insertTable","codeBlock",],};const editorConfig = {placeholder: "请在这里输入内容...",MENU_CONF: {// 配置上传图片uploadImage: {// 请求路径server: `${netUrl}`,headers: { Authorization: token },// 后端接收的文件名称fieldName: "file",maxFileSize: 1 * 1024 * 1024, // 1M// 上传的图片类型allowedFileTypes: ["image/*"],// 小于该值就插入 base64 格式(而不上传),默认为 0base64LimitSize: 10 * 1024, // 10MB// 自定义插入返回格式【后端返回的格式】customInsert(res, insertFn) {if (res.code != 20000) {message.error("上传文件失败," + res.message);return;}insertFn(res.data, res.data, res.data);},// 携带的数据meta: {imageSource: 1,},// 将 meta 拼接到 url 参数中,默认 false// 单个文件上传成功之后onSuccess(file, res) {if (res.code == 20000) {message.success(`${file.name} 上传成功`);return;} else {message.warning(`${file.name} 上传出了点异常`);return;}},// 单个文件上传失败onFailed(file, res) {console.log(res);message.error(`${file.name} 上传失败`);},// 上传错误,或者触发 timeout 超时onError(file, err, res) {console.log(err, res);message.error(`${file.name} 上传出错`);},},},};// 组件销毁时,也及时销毁编辑器onBeforeUnmount(() => {const editor = editorRef.value;if (editor == null) return;editor.destroy();});const handleCreated = (editor) => {editorRef.value = editor; // 记录 editor 实例,重要!// console.log(editor.getConfig(), "editor.getAllMenuKeys()");};return {editorRef,valueHtml,mode: "default", // 或 'simple'toolbarConfig,editorConfig,handleCreated,};},
};
</script>
工具栏修改
可以在官网提供的页面查看工具栏配置
更多配置详解
toolbar.getConfig()
相关文章:

wangeditor富文本编辑器的使用(vue)
官网 官方demo 参考 安装 yarn add wangeditor/editor yarn add wangeditor/editor-for-vue 封装的富文本组件 <template><div style"border: 1px solid #ccc"><Toolbarstyle"border-bottom: 1px solid #ccc":editor"editorRef"…...

物联网水表有什么弊端吗?
物联网水表作为新一代智能水表,虽然在很大程度上提高了水资源的管理效率,但也存在一定的弊端。在这篇文章中,我们将详细讨论物联网水表的弊端,以帮助大家更全面地了解这一技术。 一、安全隐患 1.数据泄露:物联网水表通…...

安卓 车轮视图 WheelView kotlin
安卓 车轮视图 WheelView kotlin 前言一、代码解析1.初始化2.初始化数据3.onMeasure4.onDraw5.onTouchEvent6.其他 6.ItemObject二、完整代码总结 前言 有个需求涉及到类似这个视图,于是在网上找了个轮子,自己改吧改吧用,拿来主义当然后&…...
升级Redisson版本兼容问题
升级版本:从 3.10.6 升级到3.18.0 报错: java.io.IOException: Unsupported protocol version 252 java.io.IOException: Unsupported protocol version 252at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1375)at org.redisson…...
前端框架Bootstrap
前端框架Bootstrap 该框架已经帮我们写好了很多页面样式,如果需要使用,只需要下载对应文件 直接CV拷贝即可 在使用Bootstrap的时候,所有的页面样式只需要通过修改class属性来调节即可 什么是Bootstrap Bootstrap是一个开源的前端框架…...

Flink SQL TopN语句详解
TopN 定义(⽀持 Batch\Streaming): TopN 对应离线数仓的 row_number(),使⽤ row_number() 对某⼀个分组的数据进⾏排序。 应⽤场景: 根据 某个排序 条件,计算 某个分组 下的排⾏榜数据。 SQL 语法标准&am…...
k8s之数据卷
一,存储卷 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态&#…...
服务器网络
配置 通常使用ping查看网络 如果能ping通,不能ssh登陆,安装 sudo apt update sudo apt install openssh-server如果已经安装,查看防火墙状态,inactive(不活跃) sudo ufw status sudo ufw allow ssh sudo ufw reload查看ssh状态 s…...

YOLOv8-seg 分割代码详解(一)Predict
前言 本文从 U-Net 入手熟悉分割的简单方法,再看 YOLOv8 的方法。主要梳理 YOLOv8 的网络结构,以及 Predict 过程的后处理方法。 U-Net 代码地址:https://github.com/milesial/Pytorch-UNet YOLOv8 代码地址:https://github.com/…...

Docker学习——④
文章目录 1、Docker Image(镜像)2、镜像命令详解2.1 docker rmi2.2 docker save2.3 docker load2.4 docker image inspect2.5 docker history2.6 docker image prune 3、镜像综合实战3.1 离线镜像迁移3.2 镜像存储的压缩与共享 1、Docker Imageÿ…...

Android选项卡TabHost
选项卡主要由TabHost(标签,主人),TabWidget(微件)和FrameLayout3个组件组成,用于实现一个多标签页的用户界面。 1. TabHost在XML文件中添加: XML布局文件中添加选项卡时必须使用系统id来为各组件指定id属性。 <TabHostandro…...

qml添加滚动条
import QtQuick.Controls 2.15ScrollBar.vertical: ScrollBar {visible: flick1.contentHeight > flick1.heightanchors.right: parent.rightanchors.rightMargin: 40width: 10active: truecontentItem: Rectangle {radius: 6opacity: 0.5color: "#7882A0"} }...

elementui-plus el-tree组件数据不显示问题解决
当前情况: 显示: 注意看右侧的树是没有文字的,数据已经渲染,个数是对的,但就是没有文字, 解决: 对比以后发现是template中的#default{data}没有写大括号导致的 所以写上大括号后: 正常显示...
EMR 磁盘挂载解读与磁盘扩容操作
云上的计算实例挂载的存储盘通常可以在线实现磁盘扩容。本文以 AWS EMR 节点的磁盘扩容为例,记录一下具体的操作步骤。在详细介绍前,先将重要的总结发在前面,便于以后查阅: EMR 磁盘分配规则是: 第一磁盘(/dev/nvme0n1),必备,大小由控制台的"EBS root volume&qu…...

小程序day04
目标 自定义组件 创建组件 引用组件 局部引用 全局引用 组件的函数定义到metods节点中,梦回vue2. 样式 数据,方法,属性 下划线开头的称为自定义方法,非下划线开头的都是事件处理函数。 神特么,this.datathis.pro…...
哪些人更容易受到网络攻击?
当下,企业的安全已从传统的外部网络安全威胁防御,逐渐延伸到内部威胁防御。很多时候IT基础设施被攻陷不是外部造成,而是内部使然,这些内部威胁要复杂得多且难以管理。那么,哪些员工最脆弱、最有可能给企业组织带来网络…...
sql语句-实体属性有集合怎么批量查询
1、背景 前端返回一个实体类,实体类里还有集合。要对集合外的属性查询,还要对集合批量查询,并且属性可能为空。返回给前端的结果是个实体类,实体类里有集合。 2、前端实体类 public class AppletSyncDiseaseInfoBO {// 病害信息…...

临界资源,临界区,通信的干扰问题(互斥),信号量(本质,上下文切换问题,原子性,自身的安全性,操作)
目录 引入 概念 临界资源 临界区 干扰存在原因 互斥 信号量 引入 举例 概念 介绍 表示可用资源数 表示等待进程数 申请信号量 信号量的本质 全局变量? 共享内存? 不安全问题 -- 上下文切换 原子性 信号量自身的安全性 原子操作的意义 操作 引入 通信…...

工具介绍——第三方软件远程连接(工具:Rustdesk)
文章目录 前言一、使用工具二、开始演示1、拿下目标主机权限后上传文件2、运行目标主机上的rustdesk-1.1.9.exe文件3、目标主机上whoami查看现在的用户4、查找目标主机上连接的文件,并添加连接密码5、目标主机重启rustdesk的应用程序6、本地连接主机 前言 这里主要…...

【脑机接口 算法】EEGNet: 通用神经网络应用于脑电信号
EEGNet: 神经网络应用于脑电信号 中文题目论文下载:算法程序下载:摘要1 项目介绍2 EEGNet网络原理2.1EEGNet原理架构2.2FBCCA 算法2.3自适应FBCCA算法 3EEGNet网络实现4结果 中文题目 论文下载: DOI: 算法程序下载: 地址 摘要…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...

HTTPS证书一年多少钱?
HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...