推荐一款十分强大的富文本编辑器

项目地址

https://github.com/slatejsx/slatejsx

简介

  • 整个富文本编辑器在slatejs基础上开发,完全支持富文本、图片、表格(支持合并、拆分单元格)、视频、横线等常用功能
  • 支持自定义扩展组件,详细可以参考slatejs官方文档
  • 开箱即用,操作简单。json存储富文本。欢迎使用、点赞、提交分支

install 安装

npm install slatejsx

demo 在线示例

http://seditor.open.heyphp.com

在这里插入图片描述

usage 用法

import SEditor from 'slatejsx';
import 'slatejsx/dist/index.css';
import { useState } from 'react';

const config = [
  {
   "type": "paragraph",
   "title": "h1",
   "children": [
    {
     "text": ""
    }
   ]
  }
]

const [value, setValue] = useState(config)

// 上传图片的回调,示例中将图片转为base64写入json,如果需要存到云存储可以改写此方法
const onUploadImage = (file, callback) => {
  const reader = new FileReader();
  reader.addEventListener('load', () => {
      const url = reader.result;
      callback(url)
  });

  reader.readAsDataURL(file);
}

function App() {
  return (
    <SEditor
      value={value}
      plugins={[]}
      readOnly={false}
      param={{ onUploadImage }}
      onChange={v=>setValue(v)}
    />
  );
}

export default App; 

props 参数说明

参数类型说明
valuearray参考slatejs官方文档,初始化可以使用示例中的结构体
pluginsarray额外的插件,如果需要新增新的编辑器功能,可以通过这个参数传入
pluginsarray额外的插件,如果需要新增新的编辑器功能,可以通过这个参数传入
readOnlyboolean只读,如果为true,则没有工具栏且不可编辑
param{}额外参数,参数会写入到useSlate()的实体上

相关链接

使用依赖

作者

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值