#yyds干货盘点 【React工作记录二十九】react中使用的富文本编辑器braft-editor使用

简介: #yyds干货盘点 【React工作记录二十九】react中使用的富文本编辑器braft-editor使用

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷


导语

歌谣 歌谣 项目中需要使用富文本的编辑器 你有什么推荐吗


image.png


编辑


image.png


编辑


解决思路

第一步安装依赖


#使用yarn安装     yarn add braft-editor
 #使用npm安装    npm install braft-editor --save


第二步 封装子组件

import React, { Component } from 'react'
import BraftEditor from 'braft-editor';
import 'braft-editor/dist/index.css';
//音频接口方法
import { xxxxx } from '@/services/common/upload';
class BaseRichText extends Component {
  myUploadFn = async (parame) => {
    const { dispatch, handleFetchUrl } = this.props;
    const formData = new FormData();
    formData.append('file', parame.file);
    formData.append('fileCode', 'PIC');
    const res = await xxxxx(formData);
    parame.success({
      url: res.data,
      meta: {
        loop: false, // 指定音视频是否循环播放
        autoPlay: false, // 指定音视频是否自动播放
        controls: false, // 指定音视频是否显示控制栏
        // poster: 'http://xxx/xx.png', // 指定视频播放器的封面
      }
    })
  }
  render() {
    const { editorState, handleEditorChange, height = 640, 
style, ...reset } = this.props;
    return (
      <BraftEditor
        value={editorState}
        onChange={handleEditorChange}
        style={style}
        contentStyle={{ height, boxShadow: 'inset 0 1px 3px
 rgba(0,0,0,.1)' }}
        {...reset}
        media={{ uploadFn: this.myUploadFn }}
      />
    );
  }
}
export default BaseRichText;

第三步 引入


<BaseRichText height={360} handleEditorChange={this.handleEditorChange} />




第四部 回调


handleEditorChange = (editorState) => {
    console.log(editorState, 'editorState');
    this.setState({ activityRule: editorState });
  };




总结

要点1 处理数据分别用xxx.toHtml()转化和BraftEditor.createEditorState(xxxx)反转化


要点2 回调可以实时返回当前值 及时存储



相关文章
|
11月前
|
JSON 小程序 前端开发
|
6月前
|
JSON 前端开发 数据可视化
AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程
AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程
987 0
|
3月前
|
存储 安全 数据安全/隐私保护
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
143 0
|
2月前
|
JavaScript 前端开发 API
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
本文介绍了如何在Vue 3项目中使用v-md-editor组件库来创建markdown编辑器和预览组件。文章提供了安装步骤、如何在main.js中进行全局配置、以及如何在页面中使用VMdEditor和VMdPreview组件的示例代码。此外,还提供了一个完整示例的链接,包括编辑器和预览组件的使用效果和代码。
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
|
3月前
|
JavaScript
基于Vue2.X/Vue3.X对Monaco Editor在线代码编辑器进行封装与使用
这篇文章介绍了如何在Vue 2.X和Vue 3.X项目中封装和使用Monaco Editor在线代码编辑器,包括安装所需依赖、创建封装组件、在父组件中调用以及处理Vue 3中可能遇到的问题。
599 1
基于Vue2.X/Vue3.X对Monaco Editor在线代码编辑器进行封装与使用
|
3月前
|
存储 JavaScript 前端开发
Vue中通过集成Quill富文本编辑器实现公告的发布。Vue项目中vue-quill-editor的安装与使用【实战开发应用】
文章展示了在Vue项目中通过集成Quill富文本编辑器实现公告功能的完整开发过程,包括前端的公告发布、修改、删除操作以及后端的数据存储和处理逻辑。
Vue中通过集成Quill富文本编辑器实现公告的发布。Vue项目中vue-quill-editor的安装与使用【实战开发应用】
|
2月前
一款非常棒的十六进制编辑器 —— 010 Editor
一款非常棒的十六进制编辑器 —— 010 Editor
|
4月前
|
小程序
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
600 0
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
文本---富文本编辑器------Vue3使用富文本编辑器,Quill,全局样式和组件和样式的写法
文本---富文本编辑器------Vue3使用富文本编辑器,Quill,全局样式和组件和样式的写法
|
6月前
|
前端开发 JavaScript 搜索推荐
react-app框架——使用monaco editor实现online编辑html代码编辑器
react-app框架——使用monaco editor实现online编辑html代码编辑器
288 3