react实现富文本:wangeditor-for-react

本文介绍了如何在React应用中使用wangeditor实现富文本编辑功能,包括安装、引入、事件监听、自定义配置和使用方法。详细讲解了如何追加、获取、设置内容,以及禁用和启用编辑器的操作。还提到了自定义上传图片和视频的实现。
摘要由CSDN通过智能技术生成

参考资源:

https://www.wangeditor.com

https://www.showapi.com/book/view/2008/17

安装:

npm install wangeditor-for-react

引入:

import ReactWEditor from 'wangeditor-for-react';

事件监听:

import ReactWEditor from 'wangeditor-for-react';

<ReactWEditor
  defaultValue={'<h1>标题</h1>'}
  linkImgCallback={(src,alt,href) => {
    // 插入网络图片的回调事件
    console.log('图片 src ', src)
    console.log('图片文字说明',alt)
    console.log('跳转链接',href)
  }}
  onlineVideoCallback={(video) => {
    // 插入网络视频的回调事件
    console.log('插入视频内容', video)
  }}
  onChange={(html) => {
 
React本身并不提供向富文本编辑器WangEditor添加文档的功能,但可以通过引入第三方库实现。以下是一种实现方式: 1. 安装 `wangeditor` 和 `jszip` 库 ```bash npm install wangeditor jszip ``` 2. 在React组件中引入库 ```jsx import React, { useEffect, useRef } from 'react'; import WangEditor from 'wangeditor'; import JSZip from 'jszip'; ``` 3. 在组件中创建WangEditor实例 ```jsx const MyEditor = () => { const editorRef = useRef(null); useEffect(() => { const editor = new WangEditor(editorRef.current); editor.create(); }, []); return ( <div ref={editorRef}></div> ); }; ``` 4. 添加上传文档按钮 ```jsx const MyEditor = () => { const editorRef = useRef(null); const handleUpload = (e) => { const file = e.target.files[0]; const reader = new FileReader(); reader.onload = () => { const zip = new JSZip(); zip.loadAsync(reader.result) .then((doc) => { // 处理文档内容 const content = doc.file("word/document.xml").async("string"); return content; }) .then((content) => { // 将文档内容添加到富文本编辑器中 const editor = editorRef.current.editor; editor.cmd.do('insertHTML', content); }); }; reader.readAsArrayBuffer(file); }; useEffect(() => { const editor = new WangEditor(editorRef.current); editor.create(); }, []); return ( <> <div ref={editorRef}></div> <input type="file" onChange={handleUpload} accept=".docx" /> </> ); }; ``` 5. 点击上传文档按钮,选择文档后,将文档内容添加到富文本编辑器中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值