Plate 中操作相关的 API 参考。

操作(Operation)是 Plate 编辑器用来修改其内部状态的最底层指令。将所有变更表示为操作,使得 Plate 编辑器能够轻松实现历史记录、协作编辑等功能。

export type Operation<N extends Descendant = Descendant> =
  | NodeOperation<N>
  | SelectionOperation
  | TextOperation;

OperationApi

isNodeOperation

检查一个值是否为 NodeOperation 对象。

Parameters

  • value any

    要检查的值。

Returnsboolean

    如果是节点操作则返回 true

inverse

反转操作,返回一个新操作,当应用该操作时将完全撤销原始操作。

Parameters

Collapse all
  • op Operation

    要反转的操作。

ReturnsOperation

    一个能撤销原始操作的新操作。

isOperation

检查一个值是否为 Operation 对象。

Parameters

Collapse all
  • value any

    要检查的值。

Returnsboolean

    如果是操作则返回 true

isOperationList

检查一个值是否为 Operation 对象列表。

Parameters

Collapse all
  • value any

    要检查的值。

Returnsboolean

    如果是操作数组则返回 true

isSelectionOperation

检查一个值是否为 SelectionOperation 对象。

Parameters

Collapse all
  • value any

    要检查的值。

Returnsboolean

    如果是选区操作则返回 true

isTextOperation

检查一个值是否为 TextOperation 对象。

Parameters

Collapse all
  • value any

    要检查的值。

Returnsboolean

    如果是文本操作则返回 true

类型

Operation

export type Operation<N extends Descendant = Descendant> =
  | NodeOperation<N>
  | SelectionOperation
  | TextOperation;

NodeOperation

节点操作用于修改节点。

export type NodeOperation<N extends Descendant = Descendant> =
  | InsertNodeOperation<N>
  | MergeNodeOperation<N>
  | MoveNodeOperation
  | RemoveNodeOperation<N>
  | SetNodeOperation<N>
  | SplitNodeOperation<N>;

SelectionOperation

选区操作用于修改选区。

export type SelectionOperation = SetSelectionOperation;

TextOperation

文本操作用于修改文本内容。

export type TextOperation = InsertTextOperation | RemoveTextOperation;

InsertNodeOperation

Attributes

Collapse all
  • node N

    要插入的节点。

  • path Path

    插入位置的路径。

  • type 'insert_node'

    操作类型。

MergeNodeOperation

Attributes

Collapse all
  • path Path

    要合并节点的路径。

  • position number

    合并位置。

  • properties Partial<NodeProps<N>>

    合并后节点的属性。

  • type 'merge_node'

    操作类型。

MoveNodeOperation

Attributes

Collapse all
  • newPath Path

    移动目标路径。

  • path Path

    要移动节点的路径。

  • type 'move_node'

    操作类型。

RemoveNodeOperation

Attributes

Collapse all
  • node N

    要移除的节点。

  • path Path

    节点的路径。

  • type 'remove_node'

    操作类型。

SetNodeOperation

Attributes

Collapse all
  • newProperties Partial<NodeProps<N1>>

    要设置的新属性。

  • path Path

    节点的路径。

  • properties Partial<NodeProps<N2>>

    旧属性。

  • type 'set_node'

    操作类型。

SplitNodeOperation

Attributes

Collapse all
  • path Path

    要拆分节点的路径。

  • position number

    拆分位置。

  • properties Partial<NodeProps<N>>

    拆分后新节点的属性。

  • type 'split_node'

    操作类型。

SetSelectionOperation

Attributes

Collapse all
  • newProperties Partial<TRange> | TRange | null

    新选区属性。

  • properties Partial<TRange> | TRange | null

    旧选区属性。

  • type 'set_selection'

    操作类型。

InsertTextOperation

Attributes

Collapse all
  • offset number

    插入位置的偏移量。

  • path Path

    文本节点的路径。

  • text string

    要插入的文本。

  • type 'insert_text'

    操作类型。

RemoveTextOperation

Attributes

Collapse all
  • offset number

    移除位置的偏移量。

  • path Path

    文本节点的路径。

  • text string

    被移除的文本。

  • type 'remove_text'

    操作类型。