# 介绍
文字文档类似于 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 选择器。可选,如果你不知道这是做什么的,请不要传入。
# 实例方法
通过调用实例方法,可以主动使用编辑器功能,比如获取内容、格式化、插入富文本对象等。
详细的实例方法说明,请参考 编辑器、格式化、嵌入对象、附加模块 等。
# 事件
通过监听编辑器事件,可以在编辑器状态发生改变时,进行自定义处理,比如光标位置改变时更新工具栏状态等。
详细的事件说明,请参考 事件。