re-editor -- 开箱即用的react富文本编辑器

一个开箱即用的React富文本编辑器 🚀固然也能够定制化啦👏css

github地址: github.com/wowlusitong…html

屏幕快照 2019-03-17 23 11 49

特色

  • 开箱即用,无需配置
  • 定制化,可自行开发任意风格和形式的工具条 [API补全中]
  • 支持元素功能设置,例如修改图片大小
  • 支持markdown语法
  • 查看更多

使用方法

编辑器为适应不一样开发需求,提供两种使用方法node

开箱即用

re-editor是一个封装好的组件, 安装就能够使用, 它里面包含 @re-editor/core@re-editor/toolbar-antd, 工具条默认使用antd风格,如要使用其余工具条请参考下面自定义说明git

安装依赖

$ npm install re-editor
复制代码

引入样式

在js里面引入github

import 're-editor/lib/styles/index.css'
复制代码

也能够在css里面引入(须要css预处理支持)npm

@import 're-editor/lib/styles/index.css'
复制代码

props

属性 说明 类型
value 编辑器的值 object
onChange 编辑器更改内容的回调 (value: Value) => void
placeholder 占位文本 string

自定义

编辑器拆分为两个部分,内容编辑区域 和 工具条,下面介绍如何自定义工具条markdown

安装编辑器核心

$ npm install @re-editor/core
复制代码

建立工具条

能够用任何方式建立编辑器工具条,须要将编辑器的实例传给工具条,可参考 re-editor@re-editor/toolbar-antd的实现,详情查看API文档(这部分文档还没写完,会在一周内补全😂)antd

例如实现一个加粗功能:框架

import { command } from '@re-editor/core';

const Demo = (props) => {
  function handleClick() {
    command(props.editor)('bold')
  }
  return <div onClick={handleClick}>bold</div>
}

复制代码

packages介绍

  • re-editor: 一个封装好的,包含工具条的编辑器
  • @re-editor/core: 编辑器核心
  • @re-editor/toolbar-antd: 基于antd制做的工具条,默认
  • @re-editor/examples: 演示项目

FAQ

和slate或draft-js对比有什么区别?

slate或draft并非一个纯编辑器,它们更像是一个用于构建编辑器的框架,re-editor是基于slate开发,让你没必要关注构建编辑器的过程。编辑器

怎么修改样式

样式分为两部分,node(粗体、h一、h2等)和工具栏,它们均可以经过css重写基础样式,工具栏也能够作到彻底重写 样式能够经过css自定义

每次保存数据量太大怎么办?

使用增量更新,onChange回调的value是 immutable格式,能够使用immutable-js-diff等方法获取diff的内容进行增量更新

功能

文字装饰

粗体 斜体 下划线 删除线 上标 下标

列表

有序列表 无序列表

对齐方式

左对齐 右对齐 居中对齐 两端对齐

标题

h1 h2 h3 h4 h5 h6

其余

  • 图片
    • 设置大小
    • 从剪贴板复制
  • 表格
    • 增长行
    • 增长列
    • 删除行
    • 删除列
  • 代码高亮
    • js
    • css
    • html
  • markdown
    • h1-h6: #
    • 引用: >
    • 有序列表: -
    • 无序列表: 1.

其余功能持续增长中...

相关文章
相关标签/搜索