React富文本编辑器wangEditor

news/2024/7/15 18:36:26 标签: react.js, javascript, 前端

1.安装

npm install @wangeditor/editor-for-react --save
或者
yarn add @wangeditor/editor-for-react

2.使用案例 

组件内部分:

javascript">import '@wangeditor/editor/dist/css/style.css' // 引入 css
import React, { useState, useEffect } from 'react'
import { Editor, Toolbar } from '@wangeditor/editor-for-react'

function MyEditor({defaultHtml,updateHtml}) {
    const [editor, setEditor] = useState(null) // 存储 editor 实例
    const [html, setHtml] = useState(defaultHtml) // 编辑器内容

    useEffect(() => {
			updateHtml(html)
    }, [html])
	
    const toolbarConfig = {}
    const editorConfig = {
        placeholder: '请输入内容...',
    }

    // 及时销毁 editor ,重要!
    useEffect(() => {
        return () => {
            if (editor == null) return
            editor.destroy()
            setEditor(null)
        }
    }, [editor])

    return (
        <>
            <div style={{ border: '1px solid #ccc', zIndex: 100,height:'350px',padding:'1vh 0', }}>
                <Toolbar
                    editor={editor}
                    defaultConfig={toolbarConfig}
                    mode="default"
                    style={{ borderBottom: '1px solid #ccc' }}
                />
                <Editor
                    defaultConfig={editorConfig}
                    value={html}
                    onCreated={setEditor}
                    onChange={editor => setHtml(editor.getHtml())}
                    mode="default"
                    style={{ height: '50%', 'overflow-y': 'hidden' }}
                />
            </div>
        </>
    )
}

export default MyEditor;

(1)传递的一个dufaultHTML作为富文本编辑器的默认值,供编辑的场景使用。
(2)updateHTML作为用于富文本编辑器的值发生变化后向父组件暴漏出来的当前最新的值,父组件使用高阶函数来获取编辑器最新的值。


http://www.niftyadmin.cn/n/5252060.html

相关文章

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 15 章:问题解答提示

要求CHATGPT高质量回答的艺术&#xff1a;提示工程技术的完整指南—第 15 章&#xff1a;问题解答提示 问题解答提示是一种允许模型生成回答特定问题或任务的文本的技术。要做到这一点&#xff0c;需要向模型提供一个问题或任务作为输入&#xff0c;以及与该问题或任务相关的任…

【开题报告】基于SpringBoot的企业学习培训平台的设计与实现

1.选题背景 在现代企业中&#xff0c;持续学习和培训是提高员工能力和推动组织发展的重要手段。随着技术的不断进步和市场竞争的加剧&#xff0c;企业需要不断提升员工的技能和知识&#xff0c;以适应变化的需求和挑战。 传统的培训方式存在一些问题&#xff0c;如时间和空间…

Redis 底层数据结构 - 简单动态字符串

一、简单动态字符串 简单动态字符串&#xff08;Simple Dynamic String&#xff0c;简称SDS&#xff09;是Redis底层实现中使用的一种字符串表示方式&#xff0c;它具有自我调整和内存优化功能。SDS的结构如下&#xff1a; struct sdshdr {// 记录buf数组中已使用字节的数量//…

使用flutter_native_splash替换启动图片,iOS端替换不成功

使用flutter_native_splash替换启动图片&#xff0c;iOS端替换不成功 1、删除App重启手机&#xff1b;2、重新创建一个新的LaunchScreen.storyboard&#xff0c;比如命名为NewLaunchScreen.storyboard&#xff0c;在General里面设置Launch Screen File为这个新的NewLaunchScree…

STM32 定时器总结

缩写 ARR: Auto-Reload Register&#xff08;保存定时器的计数范围&#xff09; PSC: Prescaler register&#xff08;预分频器寄存器&#xff0c;根据设置的分频因子N&#xff0c;计数N个定时器时钟脉冲后&#xff0c;产生一个CNT计数&#xff0c;以此实现分频功能&#xff0…

IOS安全学习路标

1. iOS基础知识 - 学习Objective-C和Swift编程语言&#xff0c;了解iOS开发的基本原理。 - 熟悉iOS应用的启动过程&#xff0c;包括应用生命周期、应用的主线程和多线程开发等。 - 了解iOS应用的应用包结构&#xff0c;包括应用程序包&#xff08;.app文件&#xff09;、库和资…

当前 .NET SDK 不支持面向 .NET X.0 (如8.0)问题的解决方案

如果您加载方案或运行时出现如下错误时&#xff1a; 当前 .NET SDK 不支持面向 .NET 8.0。请面向 .NET 7.0 或更低版本&#xff0c;或者使用支持 .NET 8.0 的 .NET SDK 版本。从 https://aka.ms/dotnet/download 下载 .NET SDK (项目名称).Domain C:\Program Files\dotnet\…

bc-linux-欧拉重制root密码

最近需要重新安装虚拟机的系统 安装之后发现对方提供的root密码不对&#xff0c;无法进入系统。 上网搜了下发现可以进入单用户模式进行密码修改从而重置root用户密码。 在这个界面下按e键 找到图中部分&#xff0c;把标红的部分删除掉&#xff0c;然后写上rw init/bin/…