# 介绍

文字文档类似于 Word,其核心是富文本编辑器。讯飞文档的富文本编辑器基于开源的 Quill (opens new window) 开发。在 Quill 的基础上,我们进行了大量的代码优化,新增了多个常用模块,并实现了协同编辑功能。

我们所有的 API 也围绕编辑器构建,主要分为实例方法和事件两类。

本文档使用 Typescript (opens new window) 来描述这些 API。对于在多个 API 都使用到的通用数据类型,API 的描述中可能不会直接引用。对于这些数据类型,请参考 数据类型

# 编辑器类

讯飞文档的富文本编辑器核心类是 Editor,继承自 Quill

我们将绝大部分常用模块进行了封装,设置为默认参数,因此 Editor 是开箱即用的。这意味着,你可以只传入必要的 HTML 容器元素就以初始化它,并立即开始富文本编辑。

# 构造函数

  • 定义
constructor(
  container: HTMLElement | string,
  options?: {
    modules?: { [module: string]: object | boolean }
    theme?: 'snow'
    readOnly?: boolean
    scrollingContainer?: HTMLElement | string
  }
)
  • 参数
    • container: 编辑器容器,支持元素和 CSS 选择器。
    • options:
      • modules: 模块,用于开启或者自定义模块。
      • theme: 主题,当前只接受 "snow"录音速记 可不传此参数。
      • readOnly: 是否开启只读模式。可选,默认 false(关闭)。
      • scrollingContainer: 滚动容器的元素或 CSS 选择器。可选,如果你不知道这是做什么的,请不要传入。

# 实例方法

通过调用实例方法,可以主动使用编辑器功能,比如获取内容、格式化、插入富文本对象等。

详细的实例方法说明,请参考 编辑器格式化嵌入对象附加模块 等。

# 事件

通过监听编辑器事件,可以在编辑器状态发生改变时,进行自定义处理,比如光标位置改变时更新工具栏状态等。

详细的事件说明,请参考 事件