【重点突破】—— React实现富文本编辑器
前言:富文本编辑器Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器。
一、安装插件
react-draft-wysiwyg: 文本编辑器插件
draftjs-to-html:文本转换为html的插件
- yarn add react-draft-wysiwyg draftjs-to-html --save
二、富文本编辑器实现
- pages->rich->index.js: 对应路由/admin/rich
- import React from 'react'
- import {Card, Button, Modal} from 'antd'
- import {Editor} from 'react-draft-wysiwyg'
- import draftjs from 'draftjs-to-html'
- import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'
- export default class RichText extends React.Component{
- state = {
- showRichText: false,
- editorContent: '',
- editorState: ''
- }
- handleClearContent = () => { //清空文本
- this.setState({
- editorState: ''
- })
- }
- handleGetText = () => { //获取文本内容
- this.setState({
- showRichText: true
- })
- }
- onEditorStateChange = (editorState) => { //编辑器的状态
- this.setState({
- editorState
- })
- }
- onEditorChange = (editorContent) => { //编辑器内容的状态
- this.setState({
- editorContent
- })
- }
- render(){
- const { editorState, editorContent } = this.state;
- return (
- <div>
- <Card>
- <Button type="primary" onClick={this.handleClearContent}>清空内容</Button>
- <Button type="primary" onClick={this.handleGetText} style={{marginLeft: 10}}>获取html文本</Button>
- </Card>
- <Card title="富文本编辑器">
- <Editor
- editorState={editorState}
- onEditorStateChange={this.onEditorStateChange}
- onContentStateChange={this.onEditorChange}
- toolbarClassName="toolbarClassName"
- wrapperClassName="wrapperClassName"
- editorClassName="editorClassName"
- onEditorStateChange={this.onEditorStateChange}
- />
- </Card>
- <Modal
- title="富文本"
- visible={this.state.showRichText}
- onCancel={() =>{
- this.setState({
- showRichText: false
- })
- }}
- footer={null}>
- {draftjs(this.state.editorContent)}
- </Modal>
- </div>
- )
- }
- }
注:项目来自慕课网
【重点突破】—— React实现富文本编辑器的更多相关文章
- 【React】富文本编辑器 清空文本内容 获取HTML
富文本编辑器 React 传入 import React,{Component } from 'react'; import { Card, Button, Table, Form, Select ...
- 富文本编辑器TinyMCE的使用(React Vue)
富文本编辑器TinyMCE的使用(React Vue) 一,需求与介绍 1.1,需求 编辑新闻等富有个性化的文本 1.2,介绍 TinyMCE是一款易用.且功能强大的所见即所得的富文本编辑器. Tin ...
- react富文本编辑器
首先安装两个插件 yarn add react-draft-wysiwyg draftjs-to-html --save 使用的代码如下 import React from 'react' impor ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- web开发实战--弹出式富文本编辑器的实现思路和踩过的坑
前言: 和弟弟合作, 一起整了个智慧屋的小web站点, 里面包含了很多经典的智力和推理题. 其实该站点从技术层面来分析的话, 也算一个信息发布站点. 因此在该网站的后台运营中, 富文本的编辑器显得尤为 ...
- 更加简洁易用——wangEditor富文本编辑器新版本发布
1. 前言 wangEditor富文本编辑器(www.wangEditor.com)从去年11月份发布,至今已经有将近10各月了.它就像一个襁褓中的小婴儿,在我的努力以及众多使用者的支持下不断摸索.成 ...
- 轻量级富文本编辑器wangEditor源码结构介绍
1. 引言 wangEditor——一款轻量级html富文本编辑器(开源软件) 网站:http://www.wangeditor.com/ demo演示:http://www.wangeditor.c ...
- 重构wangEditor(web富文本编辑器),欢迎指正!
提示:最新版wangEditor请参见:wangEditor.github.io 或者 https://github.com/wangfupeng1988/wangEditor 1. 前言 (下载源码 ...
- ASP.NET MVC 中使用 UEditor 富文本编辑器
在上篇<使用ASP.NET MVC+Entity Framework快速搭建博客系统>中,已经基本上可以实现博客分类和博客文章的CURD.但是,文章编辑界面实在是…… 好吧,咱得搞专业点. ...
随机推荐
- @Transactional(rollbackFor=Exception.class)的作用
在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方 法抛出异常,就会回滚,数据库里面的数据也会回滚. 这种设置是因 ...
- spring in action 学习笔记六:bean在不同情况下的默认id号或者将名字
bean如果不知名id是什么它一般都有一个id或者讲名字. 第一种情况:组件扫描的情况:默认的id号或者bean的name是类名的首字母小写. 代码如下: package com.qls.beanli ...
- TortoiseSVN里checkout depth各选项的含义
代表四种检出深度: 1.Fully recursive——全递归:检出完整的目录树,包含所有的文件或子目录.2.Immediate children,including folders——直接子节点, ...
- College student reflects on getting started in open source(二)
My budding interest grew into a full-time obsession: creating artwork on my clunky, laggy laptop. 我萌 ...
- MVC学习__修改工程端口号
有时候,我们会希望修改工程默认生成的端口号,方法如下:
- Oracle 整理
高效分页 select * from ( select rownum r,a from yourtable order by name ) --之所以没有把<=20放在最外面,也就是我一直用的写 ...
- SpringMvc+Spring+Mybatis+Maven整合
一.建立数据库表,使用generator自动生成相关代码: /* SQLyog Ultimate v11.24 (32 bit) MySQL - 5.1.62-community : Database ...
- python 操作数据库1--连接、执行sql语句
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/20 16:03 # @Author : lijunjiang # @Fi ...
- 如何让natTable表格支持自定义多个右键菜单
在nebula中,官方默认提供了一个构造natTable的builder类,并且提供了一个debugInfo的默认右键菜单,但是当我们通过官方提供的builder去创建natTable,并且要添加多个 ...
- 修改 Lua支持中文变量名
1. 找到 LuaPlus 工程下的 Lua Source Files 下的 llex.c: 2. 在该文件中找到下面所列函数: static int llex (LexState *ls, Se ...