网站首页 > 技术文章 正文
大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
什么是 react-draft-wysiwyg
A Wysiwyg editor build on top of ReactJS and DraftJS.
react-draft-wysiwyg 是使用 ReactJS 和 DraftJS 库构建的 Wysiwyg 编辑器,支持以下突出功能:
- 可配置工具栏,带有添加 / 删除控件的选项,支持更改工具栏中控件顺序的选项
- 向工具栏添加自定义控件,支持更改工具栏中样式和图标
- 支持仅在编辑器聚焦时显示工具栏,支持内联样式,包括:粗体、斜体、下划线、删除线、代码、下标、上标
- 支持块类型,包括:段落、H1 - H6、块引用、代码。
- 支持设置字体大小和字体系列、支持有序 / 无序列表和缩进。
- 支持文本对齐、文本或背景着色、国际化。
- 支持添加 / 编辑链接、有超过 150 个表情符号可供选择。
- 支持主题标签、添加 / 上传图像、对齐图像和设置高度和宽度。
- 支持嵌入式链接,灵活设置高度和宽度、删除添加样式等
- 撤消和重做、可配置 RTL 和拼写检查的行为、支持占位符。
- 支持 WAI-ARIA 属性、支持受控或不受控的模式
- 支持将编辑器内容转换为 HTML、JSON、Markdown。
目前 react-draft-wysiwyg 在 Github 通过 MIT 协议开源,有超过 6.4k 的 star、2k 的 fork、40k + 的项目依赖量、代码贡献者 70+、妥妥的前端优质开源项目。
如何使用 react-draft-wysiwyg
首先需要安装相应依赖:
npm install -S react-draft-wysiwyg
yarn add react-draft-wysiwyg
然后,编辑器可以简单地导入并用作 React 组件。但需要确保还包含来自 node_modules 的 react-draft-wysiwyg.css。
import React, {Component} from 'react';
import {Editor} from 'react-draft-wysiwyg';
import '../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css';
const EditorComponent = () => <Editor />
开发者还可以使用 editorRef 属性获取底层 DraftJS 编辑器的引用,从而在焦点编辑器等编辑器上触发事件。
const setEditorReference = (ref) => {
this.editorReferece = ref;
ref.focus();
}
const EditorWithRef = () => (
<Editor
editorRef={setEditorReference}
/>
)
编辑器本身还支持 3 个事件回调属性:
- onFocus:当编辑器聚焦时调用此回调。
- onBlur:当编辑器失去焦点时调用此回调。
- onTab:当编辑器收到 “tab” 键按下时调用此回调。
import React from 'react';
import {Editor} from 'react-draft-wysiwyg';
const EditorWithMentionHashtag = () => (
<Editor
wrapperClassName="demo-wrapper"
// 应用于编辑器和工具栏的类
editorClassName="demo-editor"
// 围绕编辑器应用的类
onFocus={(event) => {}}
onBlur={(event, editorState) => {}}
onTab={(event) => {}}
/>
)
更多关于 react-draft-wysiwyg 的用法和示例可以参考文末资料,本文不再过多展开。
参考资料
https://github.com/jpuri/react-draft-wysiwyg
https://jpuri.github.io/react-draft-wysiwyg/#/docs
https://www.youtube.com/watch?v=PDdZB83_Nrs
https://madewithreactjs.com/react-draft-wysiwyg
猜你喜欢
- 2024-09-27 富文本原理了解一下? 富文本格式是什么意思
- 2024-09-27 Ruby on Rails 作者的 WYSIWYG 编辑器 Trix 火了!
- 2024-09-27 富文本编辑器,还是Tinymce好一点?Angular/Vue集成最新版
- 2024-09-27 实现Word在线预览 world在线预览
- 2024-09-27 支持复制粘贴WORD公式的WEB编辑器
- 2024-09-27 vue实战025:配置TinyMCE富文本编辑器
- 2024-09-27 前端开发:百度开发的开源所见即所得富文本WEB编辑器(UEditor)
- 2024-09-27 Python项目中用富文本编辑器展示精美网页
- 2024-09-27 Squire – 简洁的 HTML5 富文本编辑器
- 2024-09-27 Thymeleaf+LayUI使用百度富文本编辑器(Ueditor)
你 发表评论:
欢迎- 05-10如何优化数据库和前端之间的交互?
- 05-10前端代码优化小秘籍(前端优化24条建议)
- 05-10VS Code当中的15个神仙插件,值得收藏
- 05-10如何自己开发一个Google浏览器插件?
- 05-10前端流行框架Vue3教程:14. 组件传递Props效验
- 05-10吃了一年的SU,最好用的插件都在这了
- 05-10前端必看!这款神器让网站界面告别千篇一律
- 05-10程序员请收好:10个非常有用的 Visual Studio Code 插件
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)