编辑器 API

编辑器 API 的参考文档。

Editor API 提供了一系列辅助函数,用于查询和操作编辑器状态。

通用选项

At

编辑器中的位置引用。可以是 Location 或 Node。

type At = TLocation | TNode

当传入 Node 时,会使用 editor.api.findPath() 查找其路径。这样您可以通过以下方式引用位置:

示例:

// 使用位置
editor.api.nodes({ at: [0, 0] }) // 路径位置
editor.api.nodes({ at: { path: [0], offset: 0 } }) // 点位置 
editor.api.nodes({ at: { anchor: point1, focus: point2 } }) // 范围位置
 
// 使用节点引用
const node = editor.children[0]
editor.api.nodes({ at: node }) // 内部会查找节点的路径

Match

匹配节点的谓词。谓词可以是:

  • 接收 nodepath 并返回 boolean 的函数
  • 对象,其中每个键值对必须匹配节点的属性
    • 值可以是单个值或要匹配的值数组

示例:

// 函数谓词
editor.api.nodes({
  match: (node) => node.type === 'p'
})
 
// 对象谓词
editor.api.nodes({
  match: { type: 'p' }
})
 
// 带多个可能值的对象谓词
editor.api.nodes({
  match: { type: ['p', 'h1'] }
})

QueryMode

查询节点层次结构的模式。

OptionsQueryMode

Collapse all

    • 'all' (默认): 返回所有匹配节点
    • 'highest': 在节点层次结构中,仅返回最高级别的匹配节点
    • 'lowest': 在节点层次结构中,仅返回最低级别的匹配节点

    示例:

    // 给定结构:
    // - blockquote (匹配)
    //   - paragraph (匹配)
    //     - text
     
    // mode: 'all' 返回 blockquote 和 paragraph
    editor.api.nodes({ match: { type: ['blockquote', 'paragraph'] }, mode: 'all' })
     
    // mode: 'highest' 仅返回 blockquote
    editor.api.nodes({ match: { type: ['blockquote', 'paragraph'] }, mode: 'highest' })
     
    // mode: 'lowest' 仅返回 paragraph
    editor.api.nodes({ match: { type: ['blockquote', 'paragraph'] }, mode: 'lowest' })

QueryOptions

查询编辑器中节点的通用选项。

OptionsQueryOptions<V>

Collapse all

    查询的起始位置。默认为当前编辑器选区。

    匹配块节点。为 true 时仅匹配块元素。

    匹配空/非空节点。

    • 为 true 时仅匹配空节点
    • 为 false 时仅匹配非空节点

    按 id 匹配节点。

    • 为 true 时匹配所有带 id 的节点
    • 为字符串时匹配特定 id 的节点

    匹配节点的自定义函数或对象。

    • 函数: (node, path) => boolean
    • 对象: 应与节点匹配的键值对

    匹配文本节点。为 true 时仅匹配文本节点。

editor.api

above

获取文档中位置上方匹配的祖先节点。

OptionsEditorAboveOptions<V>

Collapse all

    通用查询选项。

    查询模式选项。

    是否在搜索中包含 void 节点。

ReturnsNodeEntry<N> | undefined

Collapse all

    包含匹配祖先节点及其路径的元组,未找到则返回 undefined

block

获取位置处的块或查找第一个匹配选项的块。
块通常是顶级节点,因此这是检索祖先块的常用方式。

editor.api.block() // 获取选区上方的块
editor.api.block({ above: true }) // 获取选区上方的块
editor.api.block({ at: [0, 0] }) // 获取 [0, 0] 处的块
editor.api.block({ at: [0, 0], above: true }) // 获取 [0] 处的块
editor.api.block({ highest: true }) // 获取选区处最高级别的块

OptionsEditorBlockOptions<V>

Collapse all

    匹配块的通用查询选项。

    查询位置。默认为当前选区。

    遍历时是否忽略不可选节点。

    是否反向遍历。

    是否确保操作在所有节点上通用。

    为 true 时获取位置上方的块。如果 at 不是块路径则忽略。

    为 true 时获取位置处的最高块(根级块)。

    匹配块的查询模式。

    是否在搜索中包含 void 节点。

ReturnsNodeEntry<N> | undefined

Collapse all

    匹配的块节点条目,未找到则返回 undefined

blocks

返回所有匹配的块。

OptionsEditorNodesOptions<V>

Collapse all

    匹配块的通用查询选项。

    查询位置。默认为当前选区。

    遍历时是否忽略不可选节点。

    是否反向遍历。

    是否确保操作在所有节点上通用。

    匹配块的查询模式。

    是否在搜索中包含 void 节点。

ReturnsNodeEntry<ElementIn<V>>[]

Collapse all

    匹配块节点条目的数组。

edgeBlocks

返回位置上方的边缘块(默认:选区)。
用于获取范围的起始和结束块。

OptionsEditorNodesOptions<V>

Collapse all

    匹配块的通用查询选项。

    获取边缘块的位置。默认为当前选区。

    遍历时是否忽略不可选节点。

    是否反向遍历。

    是否确保操作在所有节点上通用。

    匹配块的查询模式。

    是否在搜索中包含 void 节点。

Returns[NodeEntry<N1>, NodeEntry<N2>] | null

Collapse all

    位置上方的 [startBlock, endBlock] 元组,未找到则返回 null

first

获取位置处的第一个节点。

Parameters

Collapse all

    获取第一个节点的位置。

ReturnsNodeEntry<DescendantIn<V>> | undefined

Collapse all

    包含第一个节点及其路径的元组,未找到则返回 undefined。

fragment

获取位置或选区处的片段。

Parameters

Collapse all

    提取片段的位置。默认为当前选区。

    提取和处理片段的选项。

ReturnsElementOrTextIn<V>[] | undefined

Collapse all

    位置处的片段。

getFragment

返回当前选区处的片段。例如在剪切或复制时使用,获取当前选区的片段。

Parameters

Collapse all

    获取片段的位置。默认为当前选区。

ReturnsElementOrTextIn<V>[]

Collapse all

    当前选区处的片段。

hasBlocks

检查节点是否有块子节点。

Parameters

Collapse all

    要检查的元素。

Returnsboolean

Collapse all

    如果元素有块子节点则为 true,否则为 false。

hasInlines

检查节点是否有内联和文本子节点。

Parameters

Collapse all

    要检查的元素。

Returnsboolean

Collapse all

    如果元素有内联和文本子节点则为 true,否则为 false。

hasMark

检查选区处标记是否激活。

Parameters

Collapse all

    要检查的标记键。

Returnsboolean

Collapse all

    如果当前选区处标记激活则为 true,否则为 false。

hasPath

检查路径是否存在于编辑器中。

Parameters

Collapse all

    要检查的路径。

Returnsboolean

Collapse all

    如果路径存在则为 true,否则为 false。

hasTexts

检查节点是否有文本子节点。

Parameters

Collapse all

    要检查的元素。

Returnsboolean

Collapse all

    如果元素有文本子节点则为 true,否则为 false。

isAt

检查位置(点/范围)是否在特定位置。

// 对于范围:
editor.api.isAt({ text: true }) // 检查范围是否在单个文本节点内
editor.api.isAt({ block: true }) // 检查范围是否在单个块内
editor.api.isAt({ blocks: true }) // 检查范围是否跨多个块
editor.api.isAt({ start: true }) // 检查范围是否起始于块起始处
editor.api.isAt({ end: true }) // 检查范围是否结束于块末尾
 
// 对于点:
editor.api.isAt({ word: true }) // 相对于单词边界检查
editor.api.isAt({ start: true }) // 检查是否在起始处
editor.api.isAt({ end: true }) // 检查是否在末尾

Optionsobject

Collapse all

    要检查的位置。默认为当前选区。

    检查范围是否在单个文本节点内。

    检查范围是否在单个块内。

    检查范围是否跨多个块。

    检查是否在起始位置。

    检查是否在结束位置。

    相对于单词边界检查。

Returnsboolean

Collapse all

    如果位置匹配所有指定位置条件则为 true,否则为 false。

isCollapsed

检查选区是否折叠(起始点和结束点相同)。

Returnsboolean

Collapse all

    如果选区折叠则为 true,否则为 false。

isEdge

检查点是否是位置的边缘。

Parameters

Collapse all

    要检查的点。

    要检查的位置。默认为当前选区。

Returnsboolean

Collapse all

    如果点是位置的边缘则为 true,否则为 false。

isEditorEnd

检查选区是否在编辑器末尾。

Returnsboolean

Collapse all

    如果选区在编辑器末尾则为 true,否则为 false。

isEmpty

检查元素是否为空,考虑 void 节点。

editor.api.isEmpty() // 检查编辑器是否为空
editor.api.isEmpty(at) // 检查位置处的节点是否为空
editor.api.isEmpty(at, { after: true }) // 检查位置后的文本是否为空
editor.api.isEmpty(at, { block: true }) // 检查位置上方的块是否为空

Parameters

Collapse all

    检查是否为空的的位置。默认为当前选区。

    确定是否为空的选项。

OptionsEditorEmptyOptions

Collapse all

    检查选区后的文本是否为空。

    检查位置上方的块是否为空。

isEnd

检查点是否是位置的结束点。

Parameters

Collapse all

    要检查的点。

    要检查的位置。默认为当前选区。

Returnsboolean

Collapse all

    如果点是位置的结束点则为 true,否则为 false。

isExpanded

检查选区是否展开(起始点和结束点不同)。

Returnsboolean

Collapse all

    如果选区展开则为 true,否则为 false。

isNormalizing

检查编辑器当前是否在每个操作后规范化。

Returnsboolean

Collapse all

    如果编辑器当前正在规范化则为 true,否则为 false。

isStart

Check if a point is the start point of a location.

Parameters

Collapse all

    The point to check.

    The location to check against. Defaults to current selection.

Returnsboolean

Collapse all

    True if the point is the start point of the location, false otherwise.

isSelected

检查路径是否被当前选区选中。

Parameters

Collapse all

    要检查的路径或范围。

    检查选区的选项。

OptionsEditorIsSelectedOptions

Collapse all

    检查选区是否包含整个路径范围。

Returnsboolean

Collapse all

    如果路径被选中则为 true,否则为 false。

leaf

获取位置处的叶子文本节点。

Parameters

Collapse all

    要获取叶子的位置。

    获取叶子的选项。

OptionsEditorLeafOptions

Collapse all

    查找叶子时要遍历的深度。

    从位置的哪个边缘获取叶子('start' | 'end')。

ReturnsNodeEntry<TextIn<V>> | undefined

Collapse all

    包含叶子文本节点及其路径的元组,如果未找到则为 undefined。

levels

遍历位置处的所有层级。这包括直到根编辑器节点的所有祖先。

OptionsEditorLevelsOptions<V>

Collapse all

    匹配层级的通用查询选项。

    是否反向遍历(自下而上 vs 自上而下)。

    是否在遍历中包含 void 节点。

ReturnsGenerator<NodeEntry<NodeIn<V>>, void, undefined>

Collapse all

    为每个祖先层级生成 [node, path] 元组的生成器。

last

获取位置处的最后一个节点。

Parameters

Collapse all

    要获取最后一个节点的位置。

    获取最后一个节点的选项。

OptionsEditorLastOptions

Collapse all

    在此层级获取最后一个节点(从0开始)。

ReturnsNodeEntry<DescendantIn<V>> | undefined

Collapse all

    包含最后一个节点及其路径的元组,如果未找到则为 undefined。

mark

通过键返回选区标记值。

Parameters

Collapse all

    标记键。

ReturnsMarksIn<V>[K] | null | undefined

Collapse all

    如果存在则返回标记值,如果未设置则为 null,如果存在多个不同的值则为 undefined。

marks

获取当前选区处文本将添加的标记。

ReturnsMarksIn<V> | null

Collapse all

    当前选区处的标记,如果没有标记则为 null。

next

获取文档分支中位置之后的匹配节点。

OptionsEditorNextOptions<V>

Collapse all

    匹配节点的通用查询选项。

    开始搜索的位置。默认为当前选区。

    匹配节点的查询模式。

    是否在搜索中包含 void 节点。

    • 'after': 从当前位置之后的点开始
    • 'child': 从当前路径的第一个子节点开始

ReturnsNodeEntry<DescendantIn<V>> | undefined

Collapse all

    包含下一个匹配节点及其路径的元组,如果未找到则为 undefined。

node

获取指定位置的节点或查找第一个匹配选项的节点。

Parameters

Collapse all

    要获取节点的位置。

    获取节点的选项。

OptionsEditorNodeOptions

Collapse all

    查找节点时要遍历的深度。

    从位置的哪个边缘获取节点。

ReturnsNodeEntry<NodeIn<V>> | undefined

Collapse all

    包含匹配节点及其路径的元组,如果未找到则为 undefined。

nodes

遍历编辑器中所有匹配给定选项的节点。

OptionsEditorNodesOptions<V>

Collapse all

    匹配节点的通用查询选项。

    开始遍历的位置。默认为编辑器选区。

    遍历时是否忽略不可选择的节点。

    是否反向遍历。

    是否确保操作在所有节点上通用。

    • 'all': 返回所有匹配的节点
    • 'highest': 返回最高级别的匹配节点
    • 'lowest': 返回最低级别的匹配节点

    搜索时是否包含 void 节点。

ReturnsGenerator<NodeEntry<DescendantIn<V>>, void, undefined>

Collapse all

    为每个匹配节点生成 [node, path] 元组的生成器。

parent

获取位置的父节点。

Parameters

Collapse all

    要获取父节点的位置。

    获取父节点的选项。

OptionsEditorParentOptions

Collapse all

    向上遍历查找父节点的层级数。

    从位置的哪个边缘获取父节点。

ReturnsNodeEntry<AncestorIn<V>> | undefined

Collapse all

    包含父节点及其路径的元组,如果未找到则为 undefined。

previous

获取文档分支中位置之前的匹配节点。

OptionsEditorPreviousOptions<V>

Collapse all

    匹配节点的通用查询选项。

    开始搜索的位置。默认为当前选区。

    匹配节点的查询模式。

    搜索时是否包含 void 节点。

    是否获取前一个兄弟节点而不是任何前一个节点。

    • 'before': 从当前位置之前的点开始
    • 'parent': 从当前位置的父节点开始

ReturnsNodeEntry<DescendantIn<V>> | undefined

Collapse all

    包含前一个匹配节点及其路径的元组,如果未找到则为 undefined。

prop

从节点列表中获取属性值。如果属性值在所有节点中不一致,则返回 undefined

OptionsEditorPropOptions<V>

Collapse all

    要获取属性值的节点列表。

    要从节点获取的属性键。

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

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

    • 'all': 从所有节点获取属性
    • 'block': 从第一个块节点获取属性
    • 'text': 从第一个文本节点获取属性

Returnsstring | undefined

Collapse all

    所有节点中一致的属性值,如果值不同则为 undefined

string

获取位置的文本字符串内容。

Parameters

Collapse all

    要获取文本内容的位置。默认为当前选区。

    获取文本内容的选项。

OptionsEditorStringOptions

Collapse all

    是否包含 void 节点的文本内容。

Returnsstring

Collapse all

    指定位置的文本内容。

void

匹配编辑器当前分支中的 void 节点。

OptionsEditorVoidOptions

Collapse all

    开始搜索的位置。默认为当前选区。

    匹配节点的查询模式。

    搜索时是否包含 void 节点。

ReturnsNodeEntry<ElementIn<V>> | undefined

Collapse all

    包含 void 节点及其路径的元组,如果未找到则为 undefined。

Location

findPath

查找编辑器中 Plate 节点的路径。

Parameters

Collapse all

    要在编辑器树中查找路径的节点。

    查找节点路径的选项。

OptionsEditorFindPathOptions

Collapse all

    查找节点的通用查询选项。

    遍历时是否忽略不可选择的节点。

    是否反向遍历。

    是否确保操作在所有节点上通用。

    查找节点的查询模式。

    搜索时是否包含 void 节点。

ReturnsPath | undefined

Collapse all

    如果找到则返回节点的路径,否则为 undefined。

path

获取位置的路径。

Parameters

Collapse all

    要获取路径的位置。默认为当前选区。

ReturnsPath

Collapse all

    位置的路径。

point

获取位置的 startend(默认为 start)点。

Parameters

Collapse all

    要获取点的位置。默认为当前选区。

    获取点的选项。

OptionsEditorPointOptions

Collapse all

    要获取点的位置边缘。

ReturnsPoint

Collapse all

    指定位置和边缘的点。

positions

遍历文档中所有可能的点位置。

OptionsEditorPositionsOptions

Collapse all

    开始遍历的位置。默认为编辑器选区。

    • 'offset': 移动到下一个偏移点
    • 'character': 移动到下一个字符
    • 'word': 移动到下一个单词后的位置
    • 'line' | 'block': 在块边界之间移动

    为 true 时按相反顺序返回位置。

    是否包含 void 节点内的位置。

    是否跳过不可选择节点中的位置。

ReturnsGenerator<Point, void, undefined>

Collapse all

    生成器,用于生成文档中每个有效点位置。

nodesRange

返回跨越给定节点条目的范围。

Parameters

Collapse all

    要获取范围的节点条目。

ReturnsTRange | undefined

Collapse all

    跨越节点的范围,如果无法创建有效范围则为 undefined。

range

在两个位置之间创建范围。

OptionsEditorRangeOptions

Collapse all

    创建范围的位置。默认为当前选区。

    范围的焦点(结束)点。

    范围的锚点(开始)点。

ReturnsTRange

Collapse all

    指定点之间的新范围。

start

获取位置的起始点。

Parameters

Collapse all

    要获取起始点的位置。

    获取起始点的选项。

OptionsEditorStartOptions

Collapse all

    获取下一个节点的起始点,而不是当前节点。

ReturnsPoint

Collapse all

    位置的起始点。

unhangRange

将范围转换为非悬挂范围。

"悬挂"范围是由浏览器的"三击"选择行为创建的。当三击一个块时,浏览器会从该块的开始选择到下一个块的开始。因此,该范围"悬挂"到下一个块中。如果给 unhangRange 这样的范围,它会将结束点向后移动,直到它位于悬挂块之前的非空文本节点中。

请注意,unhangRange 是为修复三击块而设计的,因此目前有一些注意事项:

  • 它不会修改范围的开始;只修改结束。例如,它不会"取消悬挂"从上一个块末尾开始的选择。
  • 只有当开始块被完全选中时才会执行任何操作。例如,它不会处理通过双击段落末尾创建的范围(浏览器会从该段落末尾选择到下一个段落的开始)。

Parameters

Collapse all

    要取消悬挂的范围。

    取消悬挂范围的选项。

OptionsEditorUnhangRangeOptions

Collapse all

    允许将选择的结束点放在 void 节点中。

ReturnsTRange

Collapse all

    如果结束点悬挂,则返回结束点向后移动的新范围。

Element

elementReadOnly

检查元素是否为只读。

Parameters

Collapse all

    要检查只读状态的元素。

Returnsboolean

Collapse all

    如果元素是只读的则为 true,否则为 false。

isBlock

检查值是否为块级 Element 对象。

Parameters

Collapse all

    要检查的值。

Returnsboolean

Collapse all

    如果值是块级元素则为 true,否则为 false。

isInline

检查值是否为内联 Element 对象。

Parameters

Collapse all

    要检查的元素。

Returnsboolean

Collapse all

    如果元素是内联的则为 true,否则为 false。

isSelectable

检查值是否为可选择的 Element 对象。

Parameters

Collapse all

    要检查的元素。

Returnsboolean

Collapse all

    如果元素是可选择的则为 true,否则为 false。

isVoid

检查元素是否为 void。

Parameters

Collapse all

    要检查 void 状态的元素。

Returnsboolean

Collapse all

    如果元素是 void 则为 true,否则为 false。

markableVoid

检查元素是否为可标记的 void 元素。

Parameters

Collapse all

    要检查可标记 void 状态的元素。

Returnsboolean

Collapse all

    如果元素是可标记的 void 元素则为 true,否则为 false。

Ref

pathRef

Path 创建可变引用。

Parameters

Collapse all

    要引用的路径。

    路径引用的选项。

OptionsEditorPathRefOptions

Collapse all

    当不明确时解析引用的方向:

    • 'forward': 解析到下一个有效位置
    • 'backward': 解析到上一个有效位置
    • null: 不解析到任何位置

ReturnsPathRef

Collapse all

    一个可变引用,随着操作应用到编辑器而更新其路径。

pathRefs

获取编辑器当前跟踪的路径引用集合。

ReturnsSet<PathRef>

Collapse all

    编辑器当前跟踪的路径引用集合。

pointRef

Point 创建可变引用。

Parameters

Collapse all

    要引用的点。

    点引用的选项。

OptionsEditorPointRefOptions

Collapse all

    当不明确时解析引用的方向:

    • 'forward': 解析到下一个有效位置
    • 'backward': 解析到上一个有效位置
    • null: 不解析到任何位置

ReturnsPointRef

Collapse all

    一个可变引用,随着操作应用到编辑器而更新其点。

pointRefs

获取编辑器当前跟踪的点引用集合。

ReturnsSet<PointRef>

Collapse all

    编辑器当前跟踪的点引用集合。

rangeRef

Range 创建可变引用。

Parameters

Collapse all

    要引用的范围。

    范围引用的选项。

OptionsEditorRangeRefOptions

Collapse all

    当不明确时解析引用的方向:

    • 'forward': 两个点都向前解析
    • 'backward': 两个点都向后解析
    • 'outward': 起点向后解析,终点向前解析
    • 'inward': 起点向前解析,终点向后解析
    • null: 不解析到任何位置

ReturnsRangeRef

Collapse all

    一个可变引用,随着操作应用到编辑器而更新其范围。

rangeRefs

获取编辑器当前跟踪的范围引用集合。

ReturnsSet<RangeRef>

Collapse all

    编辑器当前跟踪的范围引用集合。

DOM

findDocumentOrShadowRoot

从编辑器中查找文档或影子根。

ReturnsDocument | ShadowRoot

Collapse all

    包含编辑器的文档或影子根。

findEventRange

从 DOM 事件中获取目标范围。

Parameters

Collapse all

    要获取范围的 DOM 事件。

ReturnsTRange | null

Collapse all

    事件目标处的范围,如果未找到有效范围则为 null。

findKey

查找 Plate 节点的键。返回一个 Key 实例,形如 { id: string }

Parameters

Collapse all

    要查找键的节点。

ReturnsKey

Collapse all

    与节点关联的键。

getWindow

从编辑器中获取 window 对象。

ReturnsWindow

Collapse all

    与编辑器关联的 window 对象。

hasDOMNode

检查 DOM 节点是否在编辑器内。

Parameters

Collapse all

    要检查的 DOM 节点。

    检查 DOM 节点的选项。

Optionsobject

Collapse all

    是否检查节点是否在可编辑元素中。

Returnsboolean

Collapse all

    如果 DOM 节点在编辑器内则为 true,否则为 false。

hasEditableTarget

检查 DOM 目标是否可编辑。

Parameters

Collapse all

    要检查的 DOM 目标。

Returnstarget is Node

Collapse all

    如果目标是可编辑的则为 true,否则为 false。

hasRange

检查编辑器是否有范围。

Parameters

Collapse all

    要检查的范围。

Returnsboolean

Collapse all

    如果编辑器有指定范围则为 true,否则为 false。

hasSelectableTarget

检查 DOM 目标是否可选。

Parameters

Collapse all

    要检查的 DOM 目标。

Returnstarget is Node

Collapse all

    如果目标是可选的则为 true,否则为 false。

hasTarget

检查 DOM 目标是否存在。

Parameters

Collapse all

    要检查的 DOM 目标。

Returnstarget is Node

Collapse all

    如果目标存在则为 true,否则为 false。

isComposing

检查用户是否正在编辑器中输入。

Returnsboolean

Collapse all

    如果用户正在输入文本则为 true,否则为 false。

isFocused

检查编辑器是否获得焦点。

Returnsboolean

Collapse all

    如果编辑器有焦点则为 true,否则为 false。

isReadOnly

检查编辑器是否处于只读模式。

Returnsboolean

Collapse all

    如果编辑器是只读的则为 true,否则为 false。

toDOMNode

从 Plate 节点查找原生 DOM 元素。

OptionsTNode

Collapse all

    要转换为 DOM 元素的 Plate 节点。

ReturnsHTMLElement

Collapse all

    Plate 节点对应的 DOM 元素。

toDOMPoint

从 Plate 点查找原生 DOM 选择点。

OptionsPoint

Collapse all

    要转换为 DOM 点的 Plate 点。

ReturnsDOMPoint

Collapse all

    表示 DOM 点的 [node, offset] 元组。

toDOMRange

从 Plate 范围查找原生 DOM 范围。

OptionsTRange

Collapse all

    要转换为 DOM 范围的 Plate 范围。

ReturnsDOMRange

Collapse all

    Plate 范围对应的 DOM 范围。

toSlateNode

从原生 DOM 元素查找 Plate 节点。

OptionsDOMNode

Collapse all

    要转换为 Plate 节点的 DOM 节点。

ReturnsTNode | undefined

Collapse all

    如果找到则返回对应的 Plate 节点,否则返回 undefined。

toSlatePoint

从 DOM 选择点查找 Plate 点。

OptionsDOMPoint

Collapse all

    要转换为 Plate 点的 DOM 点。

ReturnsPoint | undefined

Collapse all

    如果找到则返回对应的 Plate 点,否则返回 undefined。

toSlateRange

从 DOM 范围查找 Plate 范围。

OptionsDOMRange

Collapse all

    要转换为 Plate 范围的 DOM 范围。

ReturnsTRange | undefined

Collapse all

    如果找到则返回对应的 Plate 范围,否则返回 undefined。

Callback

onChange

当编辑器发生变化时调用。

Optionsobject

Collapse all

    触发变更的操作。

Core

getDirtyPaths

获取操作后需要规范化的路径。

Parameters

Collapse all

    触发规范化的操作。

ReturnsPath[]

Collapse all

    操作后需要规范化的路径数组。

shouldNormalizeNode

重写此方法以阻止规范化特定节点。默认返回 true

Parameters

Collapse all

    要检查的节点 entry(节点和路径)。

Returnsboolean

Collapse all

    如果节点应该被规范化则为 true,否则为 false。

setNormalizing

手动控制编辑器的规范化状态。

Optionsboolean

Collapse all

    编辑器是否应该在每个操作后进行规范化。

shouldNormalize

控制编辑器是否应该在操作后进行规范化。重写此方法以在某些情况下阻止规范化。

Optionsobject

Collapse all

    需要规范化的路径。

    规范化开始前的初始脏路径数量。

    当前规范化迭代计数。

    触发规范化的操作。

Returnsboolean

Collapse all

    如果编辑器应该规范化则为 true,否则为 false。

History

isMerging

获取合并标志的当前值。

Returnsboolean

Collapse all

    如果编辑器当前正在合并操作则为 true,否则为 false。

isSaving

获取保存标志的当前值。

Returnsboolean

Collapse all

    如果编辑器当前正在保存则为 true,否则为 false。

isSplittingOnce

获取拆分标志的当前值。

Returnsboolean

Collapse all

    如果编辑器当前正在执行单个拆分操作则为 true,否则为 false。

Utils

create.block

创建新块元素的默认块工厂。

Parameters

Collapse all

    要合并到新块中的部分元素属性。

    新块的路径。

ReturnsTElement

Collapse all

    新的块元素。

create.value

创建新编辑器值的默认值工厂。

ReturnsValue

Collapse all

    新的编辑器值。