Back to Plate

路径(Path)

docs/api/slate/path.cn.mdx

1.0.010.4 KB
Original Source

Path 是一个索引列表,用于描述节点在 Plate 节点树中的确切位置。虽然它们通常是相对于根 Editor 对象的,但也可以相对于任何 Node 对象。

ts
type Path = number[];

PathApi

operationCanTransformPath

检查操作是否会影响路径(在规范化过程中用作脏路径更新的优化)。

<API name="operationCanTransformPath"> <APIParameters> <APIItem name="operation" type="Operation<N>"> 要检查的操作。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果操作是插入、合并、移动、删除或拆分操作,则返回 `true`。 </APIReturns> </API>

transform

通过操作转换路径。

<API name="transform"> <APIParameters> <APIItem name="path" type="Path"> 要转换的路径。 </APIItem> <APIItem name="operation" type="Operation"> 要应用的操作。 </APIItem> <APIItem name="options" type="PathTransformOptions" optional> 路径转换的选项。 </APIItem> </APIParameters> <APIOptions type="PathTransformOptions"> <APIItem name="affinity" type="TextDirection | null" optional> 转换的亲和性。 </APIItem> </APIOptions> <APIReturns type="Path | null"> 转换后的路径,如果路径被删除则返回 `null`。 </APIReturns> </API>

ancestors

获取给定路径的所有祖先路径列表。

<API name="ancestors"> <APIParameters> <APIItem name="path" type="Path"> 要获取祖先的路径。 </APIItem> <APIItem name="options" type="PathAncestorsOptions" optional> 获取祖先的选项。 </APIItem> </APIParameters> <APIOptions type="PathAncestorsOptions"> <APIItem name="reverse" type="boolean" optional> 如果为 true,则按反向顺序返回路径(从最深到最浅)。 </APIItem> </APIOptions> <APIReturns type="Path[]"> 从最浅到最深的祖先路径数组(除非反向)。 </APIReturns> </API>

child

获取指定索引的子节点路径。

<API name="child"> <APIParameters> <APIItem name="path" type="Path"> 父路径。 </APIItem> <APIItem name="index" type="number"> 子节点索引。 </APIItem> </APIParameters> <APIReturns type="Path"> 子节点的路径。 </APIReturns> </API>

common

获取两个路径的共同祖先路径。

<API name="common"> <APIParameters> <APIItem name="path" type="Path"> 第一个路径。 </APIItem> <APIItem name="another" type="Path"> 第二个路径。 </APIItem> </APIParameters> <APIReturns type="Path"> 共同祖先路径。 </APIReturns> </API>

compare

比较两个路径,返回一个整数表示路径是在另一个之前、相同还是之后。

<API name="compare"> <APIParameters> <APIItem name="path" type="Path"> 要比较的第一个路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的第二个路径。 </APIItem> </APIParameters> <APIReturns type="-1 | 0 | 1"> 如果在之前返回 `-1`,相同位置返回 `0`,之后返回 `1`。 </APIReturns> </API>

endsAfter

检查路径是否在另一个路径的某个索引之后结束。

<API name="endsAfter"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 在 `another` 之后结束返回 `true`。 </APIReturns> </API>

endsAt

检查路径是否在另一个路径的某个索引处结束。

<API name="endsAt"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 在 `another` 相同索引处结束返回 `true`。 </APIReturns> </API>

endsBefore

检查路径是否在另一个路径的某个索引之前结束。

<API name="endsBefore"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 在 `another` 之前结束返回 `true`。 </APIReturns> </API>

equals

检查路径是否与另一个完全相等。

<API name="equals"> <APIParameters> <APIItem name="path" type="Path"> 第一个路径。 </APIItem> <APIItem name="another" type="Path"> 第二个路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果路径完全相等返回 `true`。 </APIReturns> </API>

firstChild

获取路径的第一个子节点路径。

<API name="firstChild"> <APIParameters> <APIItem name="path" type="Path"> 父路径。 </APIItem> </APIParameters> <APIReturns type="Path"> 第一个子节点的路径。 </APIReturns> </API>

hasPrevious

检查前一个兄弟节点的路径是否存在。

<API name="hasPrevious"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果存在前一个兄弟节点返回 `true`。 </APIReturns> </API>

isAfter

检查路径是否在另一个之后。

<API name="isAfter"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果第一个路径在第二个之后返回 `true`。 </APIReturns> </API>

isAncestor

检查路径是否是另一个的祖先。

<API name="isAncestor"> <APIParameters> <APIItem name="path" type="Path"> 可能的祖先路径。 </APIItem> <APIItem name="another" type="Path"> 可能的子孙路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 是 `another` 的祖先返回 `true`。 </APIReturns> </API>

isBefore

检查路径是否在另一个之前。

<API name="isBefore"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果第一个路径在第二个之前返回 `true`。 </APIReturns> </API>

isChild

检查路径是否是另一个的子路径。

<API name="isChild"> <APIParameters> <APIItem name="path" type="Path"> 可能的子路径。 </APIItem> <APIItem name="another" type="Path"> 可能的父路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 是 `another` 的子路径返回 `true`。 </APIReturns> </API>

isCommon

检查路径是否等于或是另一个的祖先。

<API name="isCommon"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 等于或是 `another` 的祖先返回 `true`。 </APIReturns> </API>

isDescendant

检查路径是否是另一个的子孙。

<API name="isDescendant"> <APIParameters> <APIItem name="path" type="Path"> 可能的子孙路径。 </APIItem> <APIItem name="another" type="Path"> 可能的祖先路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 是 `another` 的子孙返回 `true`。 </APIReturns> </API>

isParent

检查路径是否是另一个的父路径。

<API name="isParent"> <APIParameters> <APIItem name="path" type="Path"> 可能的父路径。 </APIItem> <APIItem name="another" type="Path"> 可能的子路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果 `path` 是 `another` 的父路径返回 `true`。 </APIReturns> </API>

isPath

检查值是否实现了 Path 接口。

<API name="isPath"> <APIParameters> <APIItem name="value" type="any"> 要检查的值。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果值是路径返回 `true`。 </APIReturns> </API>

isSibling

检查路径是否是另一个的兄弟路径。

<API name="isSibling"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> <APIItem name="another" type="Path"> 要比较的路径。 </APIItem> </APIParameters> <APIReturns type="boolean"> 如果路径共享同一个父路径返回 `true`。 </APIReturns> </API>

lastIndex

获取路径的最后一个索引。

<API name="lastIndex"> <APIParameters> <APIItem name="path" type="Path"> 要检查的路径。 </APIItem> </APIParameters> <APIReturns type="number"> 最后一个索引,如果路径为空则返回 -1。 </APIReturns> </API>

levels

获取从路径到每个级别的路径列表。

<API name="levels"> <APIParameters> <APIItem name="path" type="Path"> 要获取级别的路径。 </APIItem> <APIItem name="options" type="PathLevelsOptions" optional> 获取级别的选项。 </APIItem> </APIParameters> <APIOptions type="PathLevelsOptions"> <APIItem name="reverse" type="boolean" optional> 如果为 true,则按反向顺序返回路径(从最深到最浅)。 </APIItem> </APIOptions> <APIReturns type="Path[]"> 包含路径本身及其所有祖先的路径数组。 </APIReturns> </API>

next

获取下一个兄弟节点的路径。

<API name="next"> <APIParameters> <APIItem name="path" type="Path"> 当前路径。 </APIItem> </APIParameters> <APIReturns type="Path"> 下一个兄弟节点的路径。 </APIReturns> </API>

parent

获取父节点的路径。

<API name="parent"> <APIParameters> <APIItem name="path" type="Path"> 当前路径。 </APIItem> </APIParameters> <APIReturns type="Path"> 父节点的路径。 </APIReturns> </API>

previous

获取前一个兄弟节点的路径。

<API name="previous"> <APIParameters> <APIItem name="path" type="Path"> 当前路径。 </APIItem> </APIParameters> <APIReturns type="Path | undefined"> 前一个兄弟节点的路径,如果没有则返回 `undefined`。 </APIReturns> </API>

relative

获取相对于祖先的路径。

<API name="relative"> <APIParameters> <APIItem name="path" type="Path"> 要相对化的路径。 </APIItem> <APIItem name="ancestor" type="Path"> 祖先路径。 </APIItem> </APIParameters> <APIReturns type="Path"> 相对路径。 </APIReturns> </API>

类型

Path

一个数字数组,表示遍历文档树以到达特定节点的索引。