Class: HorizontalRuleNode
@lexical/react/LexicalHorizontalRuleNode.HorizontalRuleNode
層級結構
-
DecoratorNode
<JSX.Element
>↳
HorizontalRuleNode
建構函式
constructor
• new HorizontalRuleNode(key?
): HorizontalRuleNode
參數
名稱 | 類型 |
---|---|
key? | string |
返回
繼承自
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:28
屬性
constructor
• constructor: KlassConstructor
<(key?
: string
) => DecoratorNode
<Element
>>
繼承自
DecoratorNode.constructor
定義於
packages/lexical/src/nodes/LexicalDecoratorNode.ts:27
函式
afterCloneFrom
▸ afterCloneFrom(prevNode
): void
在 prevNode
的複製品上執行任何狀態更新,這些更新不是由靜態複製函式中的建構函式處理的。如果您在複製品中有狀態需要更新,而建構函式無法直接處理,建議覆寫此函式,但必須在實作中包含對 super.afterCloneFrom(prevNode)
的調用。這僅應由 $cloneWithProperties 函式或通過 super 調用來使用。
參數
名稱 | 類型 |
---|---|
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
createDOM
▸ createDOM(config
): HTMLElement
在協調過程中調用此函式以確定要將哪些節點插入到這個 Lexical 節點的 DOM 中。
此函式必須返回一個 HTMLElement
。不支援嵌套元素。
在更新生命週期的此階段,請勿嘗試更新 Lexical EditorState。
參數
名稱 | 類型 | 描述 |
---|---|---|
config | EditorConfig | 允許在協調過程中訪問像是 EditorTheme(以應用樣式)的內容。 |
返回
HTMLElement
重寫自
定義於
packages/lexical-react/src/LexicalHorizontalRuleNode.tsx:150
createParentElementNode
▸ createParentElementNode(): ElementNode
為任何需要的父元素創建邏輯。如果 isParentRequired 返回 true,則應實作此函式。
返回
繼承自
DecoratorNode.createParentElementNode
定義於
packages/lexical/src/LexicalNode.ts:1094
decorate
▸ decorate(): Element
返回的值會被添加到 LexicalEditor._decorators 中
返回
Element
重寫自
定義於
packages/lexical-react/src/LexicalHorizontalRuleNode.tsx:168
exportDOM
▸ exportDOM(): DOMExportOutput
控制此節點如何序列化為 HTML。這對於在 Lexical 和非 Lexical 編輯器之間的複製和粘貼,或在不同命名空間的 Lexical 編輯器之間的複製和粘貼很重要。在這種情況下,主要的轉移格式是 HTML。如果您出於其他原因將其序列化為 HTML,也很重要。您也可以使用此函式構建自己的 HTML 渲染器。
返回
重寫自
定義於
packages/lexical-react/src/LexicalHorizontalRuleNode.tsx:146
exportJSON
▸ exportJSON(): SerializedLexicalNode
控制此節點如何序列化為 JSON。這對於在共享相同命名空間的 Lexical 編輯器之間的複製和粘貼很重要。如果您將其序列化為 JSON 以進行持久存儲,也很重要。請參閱 Serialization & Deserialization。