Plate 核心

\@platejs/core 的 API 参考文档。

API

createPlateEditor

生成一个新的 PlateEditor 实例,使用一组插件及其配置进行初始化。

OptionsCreatePlateEditorOptions

Collapse all

    编辑器的唯一标识符。

    未应用 withPlate 的初始编辑器。

    编辑器插件数组。

    编辑器的初始值。

    初始化后是否选中编辑器。

    • 默认值: false
    • true | 'end': 选中编辑器末尾
    • false: 不选中任何内容
    • 'start': 选中编辑器开头

    指定编辑器中允许的最大字符数。

    自动节点 ID 生成和管理的配置。

    编辑器的初始选区。

    true 时,将规范化传递给 editor 的初始 value

    • 默认值: false

    配置根插件的函数。

    编辑器的 API 方法。

    编辑器的装饰函数。

    扩展编辑器的函数。

    编辑器的事件处理器。

    编辑器的注入配置。

    规范化初始值的函数。

    编辑器的附加选项。

    编辑器的覆盖配置。

    编辑器插件的优先级。

    编辑器的只读初始状态。对于动态值,使用 Plate.readOnly 属性。

    编辑器的渲染函数。

    编辑器的键盘快捷键。

    编辑器的转换函数。

    与编辑器一起使用的钩子。

ReturnsPlateEditor

Collapse all

    应用了插件和配置的编辑器实例。

有关编辑器配置的更多详情,请参阅编辑器配置指南。

createPlatePlugin

使用给定配置创建一个新的 Plate 插件,支持扩展、嵌套插件操作和运行时配置。

Parameters

Collapse all

    插件的配置对象,或返回配置的函数。如果提供函数,将在解析插件时使用编辑器执行该函数。

    有关 PlatePluginConfig 类型的详情,请参阅PlatePlugin API

ReturnsPlatePlugin

Collapse all

    一个新的插件实例。

createTPlatePlugin

createPlatePlugin 的显式类型版本。

Parameters

Collapse all

    插件的配置对象,或返回配置的函数。此版本需要显式类型参数 C 扩展 AnyPluginConfig

    有关 TPlatePluginConfig 类型的详情,请参阅PlatePlugin API

ReturnsPlatePlugin<C>

Collapse all

    一个新的插件实例。

toPlatePlugin

扩展 SlatePlugin 以创建 React PlatePlugin。

Parameters

Collapse all

    要扩展的基础 SlatePlugin。

    提供扩展配置的函数或对象。如果是函数,它接收插件上下文并应返回部分 PlatePlugin。如果是对象,它应是部分 PlatePlugin 配置。

ReturnsPlatePlugin

Collapse all

    一个新的插件实例,结合了基础 SlatePlugin 功能和扩展配置中定义的 React 特定特性。

toTPlatePlugin

toPlatePlugin 的显式类型版本。

Parameters

Collapse all

    要扩展的基础 SlatePlugin。

    提供扩展配置的函数或对象。此版本需要为基本插件配置(TContext)和扩展配置(C)提供显式类型参数。

ReturnsPlatePlugin<C>

Collapse all

    具有精确类型控制的新插件实例。

useEditorContainerRef

ReturnsReact.RefObject<HTMLDivElement>

Collapse all

    编辑器容器的 DOM 引用。

useEditorScrollRef

ReturnsReact.RefObject<HTMLDivElement>

Collapse all

    编辑器滚动容器的 DOM 引用。

useScrollRef

ReturnsReact.RefObject<HTMLDivElement>

Collapse all

    编辑器滚动容器引用。如果存在滚动引用则返回它,否则返回容器引用。

useEditorPlugin

获取编辑器和插件上下文。

Parameters

Collapse all

    具有必需键的插件或插件配置。

ReturnsPlatePluginContext

Collapse all

    当前编辑器实例。

    插件实例。

    获取特定选项值的函数。

    获取插件所有选项的函数。

    设置特定选项值的函数。

    设置多个选项的函数。

    编辑器的 Plate 存储。

useEditorRef

获取 Plate 编辑器引用而不重新渲染。返回的编辑器对象增强了 store 属性,提供对 Plate 存储的访问。

Parameters

Collapse all

    用于访问嵌套编辑器的编辑器 ID。未提供时,返回 React 树中最近的编辑器实例。仅在处理嵌套编辑器时使用此参数以定位特定范围。

ReturnsPlateEditor & { store: PlateStore }

Collapse all

    带有附加存储的编辑器引用。

useEditorSelector

订阅编辑器的特定属性。

Parameters

Collapse all

    选择器函数。

    选择器函数的依赖项列表。

    选择器函数的选项。

Options

Collapse all

    plate 编辑器的 ID。仅在嵌套编辑器时有用。默认使用最近的编辑器 id。

    确定选择器函数结果是否已更改的相等性函数。默认为 (a, b) => a === b

ReturnsT

Collapse all

    选择器函数的返回值。

useEditorState

获取带重新渲染的 Plate 编辑器引用。

Parameters

Collapse all

    plate 编辑器的 ID。默认使用最近的编辑器 id。

ReturnsPlateEditor

Collapse all

    编辑器引用。

useEditorComposing

获取编辑器的 composing 状态。

Parameters

Collapse all

    plate 编辑器的 ID。

Returnsboolean

Collapse all

    编辑器是否正在组合。

useEditorReadOnly

获取编辑器的 readOnly 状态。

Parameters

Collapse all

    plate 编辑器的 ID。

Returnsboolean

Collapse all

    编辑器是否为只读。

useEditorMounted

获取编辑器的 isMounted 状态。

Parameters

Collapse all

    plate 编辑器的 ID。

Returnsboolean

Collapse all

    编辑器是否已挂载。

useEditorSelection

获取编辑器的选区。已记忆化,如果范围相同则不会重新渲染。

Parameters

Collapse all

    plate 编辑器的 ID。

ReturnsTRange | null

Collapse all

    编辑器中的当前选区。

useEditorVersion

获取编辑器值的版本。每次编辑器更改时该版本都会递增。

Parameters

Collapse all

    plate 编辑器的 ID。

Returnsnumber

Collapse all

    编辑器值的当前版本。

useSelectionVersion

获取编辑器选区的版本。每次选区更改(范围不同)时该版本都会递增。

Parameters

Collapse all

    plate 编辑器的 ID。

Returnsnumber

Collapse all

    编辑器选区的当前版本。

useSelectionCollapsed

Returnsboolean

Collapse all

    当前选区是否折叠。

useSelectionExpanded

Returnsboolean

Collapse all

    当前选区是否展开。

useSelectionWithinBlock

Returnsboolean

Collapse all

    当前选区是否在单个块内。

useSelectionAcrossBlocks

Returnsboolean

Collapse all

    当前选区是否跨越多个块。

useSelectionFragment

返回当前选区的片段,可选择解构结构节点。

ReturnsTElement[]

Collapse all

    当前选区的片段。如果选区未展开或未找到片段,则返回空数组。

useSelectionFragmentProp

返回从当前选区片段派生的属性值。

OptionsGetSelectionFragmentOptions & GetFragmentPropOptions

Collapse all

    要从每个节点提取的属性键。

    如果未找到有效属性则返回的默认值。

    从节点提取属性值的自定义函数。

    确定如何遍历片段:

    • 'all': 检查块节点和文本节点

    • 'block': 仅检查块节点

    • 'text': 仅检查文本节点

    • 默认值: 'block'

Returns

Collapse all

    从片段节点派生的值,如果在指定节点中未找到一致值则为 undefined。

useNodePath

返回编辑器中节点的路径。

Parameters

Collapse all

    要查找路径的节点。

Returns

Collapse all

    表示节点在编辑器树结构中位置的记忆化 Path 数组。

usePath

获取最近元素的记忆化路径。

Parameters

Collapse all

    要获取路径的插件键。

Returns

Collapse all

    元素的路径,如果在节点组件上下文之外使用则返回 undefined

usePluginOption

用于从插件存储访问插件选项的 Hook。用于 <Plate> 内部。

Parameters

Collapse all

    要获取选项的插件。

    要访问的选项或选择器的键。

    附加参数:

    • 对于选择器: 选择器参数
    • 最后一个参数可以是相等函数 (a: T, b: T) => boolean

ReturnsT

Collapse all

    选项或选择器结果的值:

    • 对于 'state': 返回整个状态对象
    • 对于选择器键: 返回选择器的返回值
    • 对于选项键: 返回选项值
// 访问简单选项
const value = usePluginOption(plugin, 'value');
// 使用参数访问选择器
const doubleValue = usePluginOption(plugin, 'doubleValue', 2);
// 使用相等函数访问
const value = usePluginOption(plugin, 'value', (a, b) => a === b);
// 访问整个状态
const state = usePluginOption(plugin, 'state');

useEditorPluginOption

用于从插件存储访问插件选项的 Hook。用于 <Plate> 外部。

Parameters

Collapse all

    编辑器实例。

    要获取选项的插件。

    要访问的选项或选择器的键。

    附加参数:

    • 对于选择器: 选择器参数
    • 最后一个参数可以是相等函数 (a: T, b: T) => boolean

ReturnsT

Collapse all

    选项或选择器结果的值:

    • 对于 'state': 返回整个状态对象
    • 对于选择器键: 返回选择器的返回值
    • 对于选项键: 返回选项值
// 访问简单选项
const value = useEditorPluginOption(editor, plugin, 'value');
// 使用参数访问选择器
const doubleValue = useEditorPluginOption(editor, plugin, 'doubleValue', 2);
// 使用相等函数访问
const value = useEditorPluginOption(editor, plugin, 'value', (a, b) => a === b);
// 访问整个状态
const state = useEditorPluginOption(editor, plugin, 'state');

useElement

通过插件键获取元素。

Parameters

Collapse all

    要获取元素的插件键。

    • 默认值: 'element'

Returns

Collapse all

    类型为 T extends TElement 的元素,如果在节点组件上下文之外使用则返回空对象。

核心插件

DebugPlugin

提供具有可配置日志级别和错误处理功能的调试功能。

查看调试了解更多详情。

SlateExtensionPlugin & SlateReactExtensionPlugin

扩展核心 API 并改进默认功能。

DOMPlugin & ReactPlugin

将 React 特定功能集成到编辑器中。

HistoryPlugin

为编辑器启用撤销和重做功能。

InlineVoidPlugin

管理编辑器中的内联和空元素。

ParserPlugin

处理编辑器内容的解析。

LengthPlugin

强制执行编辑器内容的最大长度限制。

HtmlPlugin

启用 HTML 序列化和反序列化。

AstPlugin

处理编辑器的抽象语法树(AST)操作。

ParagraphPlugin

提供段落格式化功能。

EventEditorPlugin

管理编辑器事件,如焦点和失焦。

工具函数

isType

检查节点是否匹配提供的类型。

Parameters

Collapse all

    节点所在的编辑器。

    要检查的节点。

    要与节点匹配的类型或类型数组。可以是字符串或字符串数组。

Returns

Collapse all

    表示节点的类型是否匹配提供的类型或类型的布尔值。

组件

<PlateElement>

用于渲染元素的通用组件。

Props

Collapse all

    应用于组件的 CSS 类。

    编辑器实例。也可使用 useEditorRef hook 获取。

    元素节点。也可使用 useElement hook 获取。

    元素在编辑器树中的路径。也可使用 usePath hook 获取。

    要应用到顶层元素的元素属性。

    渲染节点子元素所必需。

    要渲染的组件类型。

    • 默认值: 'div'

<PlateLeaf>

用于渲染叶节点的通用组件。

Props

Collapse all

    应用于组件的 CSS 类。

    编辑器上下文。

    渲染节点子元素所必需。

    叶节点。

    文本节点。

    要应用到顶层元素的叶节点属性。

    要渲染的组件类型。

    • 默认值: 'span'

<PlateText>

用于渲染文本的通用组件。

Props

Collapse all

    应用于组件的 CSS 类。

    文本节点。

    要应用到顶层元素的文本属性。

    渲染节点子元素所必需。

    要渲染的组件类型。

    • 默认值: 'span'