Class: DecoratorBlockNode
@lexical/react/LexicalDecoratorBlockNode.DecoratorBlockNode
層次結構
-
DecoratorNode
<JSX.Element
>↳
DecoratorBlockNode
建構函式
建構函式
• new DecoratorBlockNode(format?
, key?
): DecoratorBlockNode
參數
名稱 | 類型 |
---|---|
format? | ElementFormatType |
key? | string |
返回
覆寫
定義於
packages/lexical-react/src/LexicalDecoratorBlockNode.ts:29
屬性
__format
• __format: ElementFormatType
定義於
packages/lexical-react/src/LexicalDecoratorBlockNode.ts:27
constructor
• constructor: KlassConstructor
<(key?
: string
) => DecoratorNode
<Element
>>
繼承自
DecoratorNode.constructor
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:27
importDOM
▪ 靜態
選擇性
importDOM: () => null
| DOMConversionMap
<any
>
類型宣告
▸ (): null
| DOMConversionMap
<any
>
返回
null
| DOMConversionMap
<any
>
繼承自
定義於
packages/lexical/src/LexicalNode.ts:265
函式
afterCloneFrom
▸ afterCloneFrom(prevNode
): void
對 prevNode
的克隆進行任何狀態更新,這些更新尚未由靜態克隆函式中的建構函式調用處理。如果你的克隆需要更新狀態,而該狀態並未由建構函式直接處理,建議覆寫此函式,但實現中必須包含對 super.afterCloneFrom(prevNode)
的調用。此函式僅供 $cloneWithProperties 函式或通過超類調用使用。
參數
名稱 | 類型 |
---|---|
prevNode | this |
返回
void
範例
class ClassesTextNode extends TextNode {
// 未顯示: static getType, static importJSON, exportJSON, createDOM, updateDOM
__classes = new Set<string>();
static clone(node: ClassesTextNode): ClassesTextNode {
// 此處使用繼承的 TextNode 建構函式,因此
// classes 不會由此函式設置。
return new ClassesTextNode(node.__text, node.__key);
}
afterCloneFrom(node: this): void {
// 這會調用 TextNode.afterCloneFrom 和 LexicalNode.afterCloneFrom
// 以進行必要的狀態更新
super.afterCloneFrom(node);
this.__addClasses(node.__classes);
}
// 此函式是私有實現細節,不適合用於公共 API,因為它不調用 getWritable
__addClasses(classNames: Iterable<string>): this {
for (const className of classNames) {
this.__classes.add(className);
}
return this;
}
addClass(...classNames: string[]): this {
return this.getWritable().__addClasses(classNames);
}
removeClass(...classNames: string[]): this {
const node = this.getWritable();
for (const className of classNames) {
this.__classes.delete(className);
}
return this;
}
getClasses(): Set<string> {
return this.getLatest().__classes;
}
}
繼承自
定義於
packages/lexical/src/LexicalNode.ts:258
canIndent
▸ canIndent(): false
返回
false
定義於
packages/lexical-react/src/LexicalDecoratorBlockNode.ts:42
createDOM
▸ createDOM(): HTMLElement
在調解過程中調用,以確定要插入到此 Lexical 節點的 DOM 中的節點。
此函式必須返回正好一個 HTMLElement
。不支持嵌套元素。
在更新生命週期的此階段不要嘗試更新 Lexical EditorState。
返回
HTMLElement
覆寫
定義於
packages/lexical-react/src/LexicalDecoratorBlockNode.ts:46
createParentElementNode
▸ createParentElementNode(): ElementNode
創建任何所需的父節點的邏輯。如果 isParentRequired 返回 true,應該實現此函式。
返回
繼承自
DecoratorNode.createParentElementNode
定義於
packages/lexical/src/LexicalNode.ts:1094
decorate
▸ decorate(editor
, config
): Element
返回的值會被添加到 LexicalEditor._decorators 中。
參數
名稱 | 類型 |
---|---|
editor | LexicalEditor |
config | EditorConfig |
返回
Element
繼承自
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:35
exportDOM
▸ exportDOM(editor
): DOMExportOutput
控制此節點如何序列化為 HTML。這對於 Lexical 和非 Lexical 編輯器之間的複製和粘貼,或不同命名空間的 Lexical 編輯器之間的複製和粘貼是很重要的,因為主要的傳輸格式是 HTML。如果你有其他原因需要將內容序列化為 HTML(例如通過 $generateHtmlFromNodes),這也很重要。你也可以使用此函式來構建你自己的 HTML 渲染器。
參數
名稱 | 類型 |
---|---|
editor | LexicalEditor |
返回
繼承自
定義於
packages/lexical/src/LexicalNode.ts:845
exportJSON
▸ exportJSON(): SerializedDecoratorBlockNode
控制此節點如何序列化為 JSON。這對於在共享相同命名空間的 Lexical 編輯器之間的複製和貼上非常重要。如果你需要將內容序列化為 JSON 以便在其他地方進行持久儲存,這也同樣重要。參見 Serialization & Deserialization。
返回
覆寫
定義於
packages/lexical-react/src/LexicalDecoratorBlockNode.ts:34
getCommonAncestor
▸ getCommonAncestor<T
>(node
): null
| T
返回此節點和提供的節點之間最近的共同祖先,若找不到則返回 null。
類型參數
名稱 | 類型 |
---|---|
T | extends ElementNode = ElementNode |
參數
名稱 | 類型 | 描述 |
---|---|---|
node | LexicalNode | 需要找到共同祖先的另一個節點。 |
返回
null
| T
繼承自
DecoratorNode.getCommonAncestor
定義於
packages/lexical/src/LexicalNode.ts:553
getIndexWithinParent
▸ getIndexWithinParent(): number
返回此節點在父節點中的零基索引。
返回
number
繼承自
DecoratorNode.getIndexWithinParent
定義於
packages/lexical/src/LexicalNode.ts:381
getKey
▸ getKey(): string
返回此節點的鍵值。
返回
string
繼承自
定義於
packages/lexical/src/LexicalNode.ts:373
getLatest
▸ getLatest(): this
返回來自活動的 EditorState 的最新版本節點。這是為了避免從過時的節點引用中獲取值。
返回
this
繼承自
定義於
packages/lexical/src/LexicalNode.ts:739
getNextSibling
▸ getNextSibling<T
>(): null
| T
返回“下一個”兄弟節點,即在相同父節點中,緊接在此節點之後的節點。
類型參數
名稱 | 類型 |
---|---|
T | extends LexicalNode |
返回
null
| T
繼承自
定義於
packages/lexical/src/LexicalNode.ts:526
getNextSiblings
▸ getNextSiblings<T
>(): T
[]
返回所有“下一個”兄弟節點,即在此節點和其父節點的最後一個子節點之間的所有節 點。
類型參數
名稱 | 類型 |
---|---|
T | extends LexicalNode |
返回
T
[]
繼承自
定義於
packages/lexical/src/LexicalNode.ts:537
getNodesBetween
▸ getNodesBetween(targetNode
): LexicalNode
[]
返回此節點和目標節點之間的節點列表。
參數
名稱 | 類型 | 描述 |
---|---|---|
targetNode | LexicalNode | 標記節點範圍另一端的節點。 |
返回
繼承自
定義於
packages/lexical/src/LexicalNode.ts:658
getParent
▸ getParent<T
>(): null
| T
返回此節點的父節點,如果找不到則返回 null。
類型參數
名稱 | 類型 |
---|---|
T | extends ElementNode |
返回
null
| T
繼承自
定義於
packages/lexical/src/LexicalNode.ts:401
getParentKeys
▸ getParentKeys(): string
[]
返回此節點每個祖先的鍵值列表,一直到 RootNode。
返回
string
[]
繼承自
定義於
packages/lexical/src/LexicalNode.ts:478
getParentOrThrow
▸ getParentOrThrow<T
>(): T
返回此節點的父節點,如果找不到則拋出錯誤。
類型參數
名稱 | 類型 |
---|---|
T | extends ElementNode |
返回
T
繼承自
DecoratorNode.getParentOrThrow
定義於
packages/lexical/src/LexicalNode.ts:412
getParents
▸ getParents(): ElementNode
[]
返回此節點每個祖先的列表,一直到 RootNode。
返回
繼承自
定義於
packages/lexical/src/LexicalNode.ts:463
getPreviousSibling
▸ getPreviousSibling<T
>(): null
| T
返回“前一個”兄弟節點,即在相同父節點中,位於此節點之前的節點。
類型參數
名稱 | 類型 |
---|---|
T | extends LexicalNode |
返回
null
| T
繼承自
DecoratorNode.getPreviousSibling
定義於
packages/lexical/src/LexicalNode.ts:493
getPreviousSiblings
▸ getPreviousSiblings<T
>(): T
[]
返回“前一個”兄弟節點,即在此節點和其父節點的第一個子節點之間的所有節點(包括)。
類型參數
名稱 | 類型 |
---|---|
T | extends LexicalNode |
返回
T
[]
繼承自
DecoratorNode.getPreviousSiblings
定義於
packages/lexical/src/LexicalNode.ts:504
getTextContent
▸ getTextContent(): string
返回節點的文本內容。對於應該以純文本格式表示的自定義節點(例如,用於複製和粘貼),請覆寫此函式。
返回
string
繼承自
定義於
packages/lexical/src/LexicalNode.ts:789
getTextContentSize
▸ getTextContentSize(): number
返回調用 getTextContent 函式後產生的字串長度。
返回
number
繼承自
DecoratorNode.getTextContentSize
定義於
packages/lexical/src/LexicalNode.ts:797
getTopLevelElement
▸ getTopLevelElement(): null
| ElementNode
| DecoratorBlockNode
返回 EditorState 樹中最高層的非根祖先節點,如果找不到則返回 null。請參閱 $isRootOrShadowRoot 以了解哪些元素構成“根”。
返回
null
| ElementNode
| DecoratorBlockNode
繼承自
DecoratorNode.getTopLevelElement
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:20
getTopLevelElementOrThrow
▸ getTopLevelElementOrThrow(): ElementNode
| DecoratorBlockNode
返回 EditorState 樹中最高層的非根祖先節點,如果找不到則拋出錯誤。請參閱 $isRootOrShadowRoot 以了解哪些元素構成“根”。
返回
ElementNode
| DecoratorBlockNode
繼承自
DecoratorNode.getTopLevelElementOrThrow
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:21
getType
▸ getType(): string
返回此節點的字串類型。
返回
string
繼承自
定義於
packages/lexical/src/LexicalNode.ts:286
getWritable
▸ getWritable(): this
返回節點的可變版本,如果需要,會使用 $cloneWithProperties。如果在 Lexical 編輯器 LexicalEditor.update 回調之外調用,將拋出錯誤。
返回
this
繼承自
定義於
packages/lexical/src/LexicalNode.ts:756
insertAfter
▸ insertAfter(nodeToInsert
, restoreSelection?
): LexicalNode
在此 LexicalNode 之後插入一個節點(作為下一個兄弟節點)。
參數
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
nodeToInsert | LexicalNode | undefined | 要插入的節點。 |
restoreSelection | boolean | true | 是否在操作完成後嘗試將選擇恢復到適當的位置。 |
返回
繼承自
定義於
packages/lexical/src/LexicalNode.ts:979
insertBefore
▸ insertBefore(nodeToInsert
, restoreSelection?
): LexicalNode
在此 LexicalNode 之前插入一個節點(作為前一個兄弟節點)。
參數
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
nodeToInsert | LexicalNode | undefined | 要插入的節點。 |
restoreSelection | boolean | true | 是否在操作完成後嘗試將選擇恢復到適當的位置。 |
返回
繼承自
定義於
packages/lexical/src/LexicalNode.ts:1046
is
▸ is(object
): boolean
如果提供的節點與此節點完全相同(從 Lexical 的角度來看),則返回 true。始終使用此函式而不是引用相等性。
參數
名稱 | 類型 | 描述 |
---|---|---|
object | undefined | null | LexicalNode | 要進行相等性比較的節點。 |
返回
boolean
繼承自
定義於
packages/lexical/src/LexicalNode.ts:585
isAttached
▸ isAttached(): boolean
如果存在從此節點到 RootNode 的路徑則返回 true,否則返回 false。這是一種確定節點是否“附加”到 EditorState 的函式。未附加的節點不會被合併,最終會被 Lexical 的垃圾回收清理。
返回
boolean
繼承自
定義於
packages/lexical/src/LexicalNode.ts:303
isBefore
▸ isBefore(targetNode
): boolean
如果此節點在編輯器狀態中邏輯上位於目標節點之前,則返回 true。
參數
名稱 | 類型 | 描述 |
---|---|---|
targetNode | LexicalNode | 要測試是否在此節點之後的節點。 |
返回
boolean
繼承自
定義於
packages/lexical/src/LexicalNode.ts:597
isDirty
▸ isDirty(): boolean
如果此節點在此更新周期中被標記為“髒”,則返回 true。
返回
boolean
繼承自
定義於
packages/lexical/src/LexicalNode.ts:728
isInline
▸ isInline(): false
返回
false
覆寫
定義於
packages/lexical-react/src/LexicalDecoratorBlockNode.ts:59
isIsolated
▸ isIsolated(): boolean
返回
boolean
繼承自
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:39
isKeyboardSelectable
▸ isKeyboardSelectable(): boolean
返回
boolean
繼承自
DecoratorNode.isKeyboardSelectable
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:47
isParentOf
▸ isParentOf(targetNode
): boolean
如果此節點是目標節點的父節點,則返回 true,否則返回 false。
參數
名稱 | 類型 | 描述 |
---|---|---|
targetNode | LexicalNode | 可能的子節點。 |
返回
boolean
繼承自
定義於
packages/lexical/src/LexicalNode.ts:636
isParentRequired
▸ isParentRequired(): boolean
此節點是否需要父節點。在複製和粘貼操作期間使用,以規範化那些本來會成為孤兒的節點。例如,沒有 ListNode 父節點的 ListItemNodes 或具有 ParagraphNode 父節點的 TextNodes。
返回
boolean
繼承自
DecoratorNode.isParentRequired
定義於
packages/lexical/src/LexicalNode.ts:1086
isSelected
▸ isSelected(selection?
): boolean
如果此節點位於提供的 Selection 內部,則返回 true,否則返回 false。依賴於 BaseSelection.getNodes 中實現的算法來確定包含的範圍。
參數
名稱 | 類型 | 描述 |
---|---|---|
selection? | null | BaseSelection | 我們要確定節點是否在其中的選擇範圍。 |
返回
boolean
繼承自
定義於
packages/lexical/src/LexicalNode.ts:327