【重點突破】—— 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>)}
}   

注:項目來自慕課網  

轉載于:https://www.cnblogs.com/ljq66/p/10214495.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450181.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450181.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450181.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1106: 回文數(函數專題)

題目描述 一個正整數&#xff0c;如果從左向 右讀&#xff08;稱之為正序數&#xff09;和從右向左讀&#xff08;稱之為倒序數&#xff09;是一樣的&#xff0c;這樣的數就叫回文數。輸入兩個整數m和n&#xff08;m<n)&#xff0c;輸出區間[m&#xff0c;n]之間的回文數。 …

Ubuntu 12.10 正式發布

Canonical今天正式發布了Ubuntu 12.10版本&#xff0c;代號為“Quantal Quetzal”&#xff0c;意為量子綠咬鵑&#xff0c;綠咬鵑是一種生活在美洲的顏色極為鮮艷的鳥。Ubuntu的版本代號一直都這么奇怪。 在該版本中&#xff0c;改進了Unity桌面環境&#xff0c;弱化了本地應用…

Hibernate中1+N問題以及解決方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. Hibernate中的1N問題描述 在多對一關系中&#xff0c;當我們需要查詢多的一方對應的表的記錄時&#xff0c;可以用一條sql語句就能…

Android應用開發—通用的GridView網格分割線

注&#xff1a;本文基于 Android RecyclerView 使用完全解析 體驗藝術般的控件 中關于GridView網格分割線部分代碼擴展而來。 原接口代碼&#xff1a; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import andro…

hdfs部署

一、下載Hadoop 2.6.0-cdh5.7.0的tar.gz包并解壓&#xff1a; wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz cd /usr/local/hadoop-2.6.0-cdh5.7.0/ ls bin bin-mapreduce1 cloudera etc examples …

JVM技術周報第2期

JVM技術周報第2期 JVM技術周報分享JVM技術交流群的討論內容&#xff0c;由群內成員整理歸納而成。如果你有興趣入群討論&#xff0c;請關注「Java技術精選」公眾號&#xff0c;通過右下角菜單「入群交流」加我好友&#xff0c;獲取入群詳情。 1、如何閱讀源碼&#xff1f; 在我…

最長重復子串和最長不重復子串求解

最長重復子串和最長不重復子串求解 本文內容框架&#xff1a; 1 最長重復子串 基本方法、KMP算法求解、后綴數組求解 2 最長不重復子串 基本方法、動態規劃、動態規劃Hash 3 小結 1最長重復子串 1.1問題描述 首先這是一個單字符串問題。子字符串R 在字符串L 中至少出現兩…

sql 查詢結果為null替換 為 0

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 mysql : ifnull( xxx , 0 ) select ifnull(colname,0) from tablename oracle: NVL&#xff08;xxx , 0 )

前后端分離——token超時刷新策略

前言 記錄一下前后端分離下————token超時刷新策略&#xff01; 需求場景 昨天發了一篇記錄 前后端分離應用——用戶信息傳遞 中介紹了token認證機制&#xff0c;跟幾位群友討論了下&#xff0c;有些同學有這么一個疑惑&#xff1a;token失效了&#xff0c;應該怎么做&…

Android ImageView的scaleType(圖片比例類型)屬性與adjustViewBounds(調整視圖邊界)屬性

本文轉載自[Android ImageView的scaleType&#xff08;圖片比例類型&#xff09;屬性與adjustViewBounds&#xff08;調整視圖邊界&#xff09;屬性]并做了排版的修改(http://www.cnblogs.com/xzbc/p/5098347.html) Android ImageView的scaleType的屬性可設置為matrix&#xff…

阿里云@廣東:讓我們一起上云!

鍋爐故障預測 預警準確率95%以上 利用算法模型進行制程能力的 綜合分析與評估優化 提升定標效率 時間降低30% 構建垃圾焚燒發電工藝的優化算法模型 綜合考慮環保和設備負荷因素 推薦最優工藝參數組合 優化人工操作&#xff0c;提高燃燒效率 中海油能源發展公司 石油鉆探預測優化…

程序員的自我經營

程序員的自我經營之道第一層 從你決定邁出校門進入社會的那一刻起&#xff0c;你就進入了一個戰場&#xff0c;這個戰場雖然沒有硝煙彌漫&#xff0c;沒有炮火紛飛&#xff0c;但卻絕不亞于任何一個真正的戰場。你要在這個戰場上去搏殺&#xff0c;去競爭&#xff0c;利用各種…

P3966 [TJOI2013]單詞

\(\color{#0066ff}{ 題目描述 }\) 小張最近在忙畢設,所以一直在讀論文。一篇論文是由許多單詞組成但小張發現一個單詞會在論文中出現很多次,他想知道每個單詞分別在論文中出現了多少次。 \(\color{#0066ff}{輸入格式}\) 第一行一個整數N,表示有N個單詞。接下來N行每行一個單詞,…

Android應用開發—RecyclerView繪制蒙層

背景&#xff1a;如何在跨越兩個或兩個以上的item繪制一個view&#xff0c;該view需要跟隨recyclerView的滑動而整體移動。 Overridepublic void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {super.onDrawOver(c, parent, state);final View child …

排序_3

希爾排序:分組排序 是把記錄按下標的一定增量分組&#xff0c;對每組使用直接插入排序算法排序&#xff1b; 隨著增量逐漸減少&#xff0c;每組包含的關鍵詞越來越多&#xff0c;當增量減至1時&#xff0c;整個文件恰被分成一組&#xff0c;算法便終止。 def shell_sort(array)…

face++算法工程實習生面試

2018-01-11 算法工程實習生 自動化工具鏈方面 面試的知識點非常仔細&#xff0c;十分檢驗基本功底 1.自我介紹 2.算法題&#xff0c;leetcode 第一題 兩數之和 問python中數組和字典的查找時間復雜度 3.git git 4.linux 常用命令 cd - ,cd ,cd ~,cd / awk 讀取倒數第一行&a…

IDEA中怎么設置黑色或白色背景?

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 開啟軟件Intellij IDEA&#xff0c;在編輯框上面找到最前端的File。 點擊File&#xff0c;找到Setting&#xff0c;點擊進入。 然后在…

大公司體制內創新的困境

周末在家&#xff0c;隨手翻看了一點吳軍老師的《浪潮之巔》這本書。去年這本書上市之后我從頭到尾閱讀了一遍&#xff0c;在《浪潮之巔》中吳軍老師歷數了IT行業公司的興衰發展史&#xff0c;提出了一個令人印象深刻的“基因決定論”&#xff0c;即由于公司基因的影響&#xf…

java打印調用堆棧的方式

Log.d(TAG,Log.getStackTraceString(new Throwable()));

weblogic jprofile配置

前提&#xff1a; 1.安裝好weblogic 2.安裝好jprofile 非等待模式&#xff1a; export JAVA_OPTIONS"${JAVA_OPTIONS} -Dweblogic.threadpool.MinPoolSize100 -Dweblogic.threadpool.MaxPoolSize1000 -Djava.awt.headlesstrue -agentpath:/opt/jprofiler9/bin/linux-x64/l…