react-draft-wysiwyg富文本编辑器使用常见问题解答

记录一些常见的问题以及使用

1. 初始化赋值

 import htmlToDraft from 'html-to-draftjs'
import { ContentState as DraftContentState } from 'draft-js'
import { EditorState,, convertToRaw } from 'draft-js'const { initialContent } = propsuseEffect(() => {if (initialContent) {try {const contentBlock = htmlToDraft(initialContent)if (contentBlock) {const contentState = DraftContentState.createFromBlockArray(contentBlock.contentBlocks)setEditorState(EditorState.createWithContent(contentState))// Convert ContentState to RawDraftContentStateconst rawContentState = convertToRaw(contentState)console.log('RawDraftContentState:', rawContentState)}} catch (error) {console.error('Error parsing HTML content:', error)}}}, [initialContent])

2.上传图片后,未直接插入富文本的问题解决
上传图片

  // 定义处理上传图片的回调函数const handleImageUpload = async (file) => {try {// 将图片上传到服务器const formData = new FormData()formData.append('images', file)const response = await fetch('接口地址', {method: 'POST',body: formData})const data = await response.json()//读取图片的 URL return {data: {link:`接口地址?imagePath=` +data.data}}} catch (error) {console.error('Error uploading image:', error)throw error}}

未直接插入富文本编辑器的问题解决

Editor的toolbar需要添加previewImage: true,inputAccept: 'image/*'完整toolbartoolbar={{image: {urlEnabled: true,uploadEnabled: true,alignmentEnabled: true, // 是否显示排列按钮 相当于text-alignuploadCallback: handleImageUpload, // 设置上传图片的回调函数previewImage: true,inputAccept: 'image/*'},fontFamily: {options: ['宋体','黑体','楷体','微软雅黑','Arial','Georgia','Impact','Tahoma','Times New Roman','Verdana']}}}

3.富文本插入图片后无法输入中文的问题解决

Editor添加属性 customBlockRenderFunc={myBlockRenderer}import React, { Component } from 'react';export const myBlockRenderer = contentBlock => {const type = contentBlock.getType();// 图片类型转换为mediaComponentif (type === 'atomic') {return {component: Media,editable: false,props: {foo: 'bar',},};}
};class Media extends Component {constructor(props) {super(props)this.state = {}}render() {const { block, contentState } = this.props;console.log(this.props);const data = contentState.getEntity(block.getEntityAt(0)).getData();const emptyHtml = ' ';return (<div>{emptyHtml}<imgsrc={data.src}alt={data.alt || ''}/></div>);}
}

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

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

相关文章

七大战略性新兴产业崭露头角:新能源电燃灶或将成为未来厨房新宠

近日&#xff0c;在国家发布的七大战略性新兴产业名单中&#xff0c;新能源产业赫然在列&#xff0c;作为其中的重要组成部分&#xff0c;华火新能源电燃灶凭借其独特的优势&#xff0c;正逐渐走进人们的视野&#xff0c;有望成为未来厨房的新宠。 华火新能源电燃灶作为清洁能源…

NeuralForecast 多变量的处理 包括训练和推理

NeuralForecast 多变量的处理 包括训练和推理 flyfish 两个excel表格合并后的结果 unique_id ds y ex_1 ex_2 ex_3 ex_4 0 HUFL 2016-07-01 00:00:00 -0.041413 -0.500000 0.166667 -0.500000 -0.001370 1 …

Houdini pbd_constraints.h的文件位置

Houdini安装目录下的houdini\vex\include文件夹 C:\Program Files\Side Effects Software\Houdini 19.5.716\houdini\vex\include

17.调用游戏本身的hp减伤害函数实现秒杀游戏角色

上一个内容&#xff1a;16.在目标进程构建CALL执行代码 16.在目标进程构建CALL执行代码在它的代码上进行的更改&#xff0c;它的callData变量中的代码不完善一个完整的函数是由return的处理器执行到return会返回如果执行不到会继续往下走&#xff0c;直到执行不下去或者执行到…

Facebook开户 | Facebook海外三不限的价值

在当今数字化时代&#xff0c;海外数字营销已经成为企业推广和品牌建设的重要手段。在这个过程中&#xff0c;社交媒体平台扮演着至关重要的角色&#xff0c;而Facebook作为全球最大的社交媒体平台之一&#xff0c;其海外三不限账户近年来引起了越来越多数字营销从业者的关注。…

各种实用方法

下载文件 function downloadUpload (url) {if ((/Trident\/7\./).test(navigator.userAgent) || (/Trident\/6\./).test(navigator.userAgent)) {// IE10/IE11var aLink document.createElement(a)//创建a链接aLink.className download_linkvar text document.createTextNo…

技术积累1:Java容错机制

如何优雅地重试 原创 赵九文 字节跳动技术团队 2021-01-05 10:01 背景 在微服务架构中&#xff0c;一个大系统被拆分成多个小服务&#xff0c;小服务之间大量 RPC 调用&#xff0c;经常可能因为网络抖动等原因导致 RPC 调用失败&#xff0c;这时候使用重试机制可以提高请求的…

【话题】开源大模型与闭源带模型你更看好哪一方

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 引言评价AI模型“好不好”及“有没有发展”开源与闭源&#xff1a;两种发展路径的比较开源的优势与劣势闭源的优势与劣势 开源与闭源&#xff1a;你更看好哪一种&#x…

gitbook安装 报错处理 windows系统

首先需要有nodejs。若没有&#xff0c;则去nodejs官网下载nodejs安装。 然后安装gitbook。命令如下&#xff1a;这是在linux系统的命令。 $ npm config set registry http://registry.npm.taobao.org #设置一下淘宝镜像&#xff08;非必选&#xff09; $ npm install gitbo…

计算机视觉全系列实战教程:(七)opencv的improc模块基本介绍

1.颜色转换 A.函数转换函数原型&#xff1a; void cv::cvtColor(cv::InputArray src, // 输入序列cv::OutputArray dst, // 输出序列int code, // 颜色映射码int dstCn 0 // 输出的通道数 (0automatic) );B.基本使用&#xff1a; cv::Mat imGray; cv::cvtColor(imBGR, imGr…

域环境信息收集

背景 一个具有一定规模的企业&#xff0c;每天都可能面临员工入职和离职&#xff0c;因此网络管理部门经常需要对域成员主机进行格式化消除磁的文件&#xff0c;然后重装系统及软件&#xff0c;以提供给新员工使用;因此&#xff0c;为了便于后期交接&#xff0c;大多网络管理员…

21、matlab生成脉冲序列:pulstran()函数

1、pulstran()函数 1&#xff09;语法 语法1&#xff1a;y pulstran(t,d,func,fs) 基于连续函数的采样产生脉冲序列。 语法2&#xff1a;y pulstran(t,d,p) 生成一个脉冲序列&#xff0c;该脉冲序列是向量p中原型脉冲的多个延迟插值的总和。 语法3&#xff1a;y pulstran…

USB HOST DWC3 初始化

https://www.cnblogs.com/newjiang/p/15675746.html 如果dr_mode为device&#xff0c;则初始化gadget。 如果dr_mode为host&#xff0c;需要初始化xHCI驱动。在dwc3_host_init函数的最后调用platform_device_add(xhci)添加platform device&#xff08;xhci-hcd&#xff09;&a…

【GIC400】——驱动代码实现

文章目录 驱动代码实现IRQ 中断处理GIC 驱动GIC 使用使用示例系列文章 【ARMv7-A】——异常与中断 【ARMv7-A】——异常中断处理概述 【ARMv7-A】——进入和退出异常中断的过程 【GIC400】——PLIC,NVIC 和 GIC 中断对比 【GIC400】——GIC 简介 【GIC400】——GIC 相关的 CP1…

如何避免在for循环中对数据库操作

避免在循环中频繁进行数据库操作可以显著提高程序的性能。有几种方法可以优化此类情况&#xff1a; 批量查询&#xff1a;将多次单独的数据库查询操作合并为一次批量查询操作。通过构建一个合适的查询条件&#xff0c;将需要查询的数据一次性从数据库中取出&#xff0c;然后在内…

免费生物蛋白质的类chatgpt工具助手copilot:小分子、蛋白的折叠、对接等

参考: https://310.ai/copilot 可以通过自然语言对话形式实现小分子、蛋白质的相关处理:生成序列、折叠等 应该是agent技术调用不同工具实现 从UniProt数据库中搜索和加载蛋白质。使用ESM Fold方法折叠蛋白质。使用310.ai基础模型设计新蛋白质。使用TM-Align方法比较蛋白质…

Oracle数据库面试题-3

41. 请解释Oracle数据库中的内存顾问&#xff08;Memory Advisor&#xff09;的作用。 Oracle 数据库中的内存顾问&#xff08;Memory Advisor&#xff09; Oracle 数据库中的内存顾问是一个功能&#xff0c;它可以分析数据库的内存使用情况&#xff0c;并提供优化建议&#…

算法每日一题(python,2024.05.26) day.8

题目来源&#xff08;力扣. - 力扣&#xff08;LeetCode&#xff09;&#xff0c;简单&#xff09; 解题思路&#xff1a; 双指针&#xff0b;交换&#xff0c;使用left和right两个指针&#xff0c;right指针向右移动&#xff0c;left从数组首位开始&#xff0c;当right找到非…

【GIC400】——GIC 相关的 CP15 寄存器

文章目录 GIC 相关的 CP15 寄存器C1(System Control Register)C12(Vector Base Address Registe)C15( Configuration Base Address Register)参考系列文章 【ARMv7-A】——异常与中断 【ARMv7-A】——异常中断处理概述 【ARMv7-A】——进入和退出异常中断的过程 【GIC400…

Vue.js 动画与过渡效果实战

title: Vue.js 动画与过渡效果实战 date: 2024/6/4 updated: 2024/6/4 description: 这篇文章介绍了如何在网页设计中使用过渡动画和组件效果&#xff0c;以及如何利用模式和列表展示信息。还提到了使用钩子实现组件间通信的方法。 categories: 前端开发 tags: 过渡动画组件…