跳至主要内容

Class: ParagraphNode

lexical.ParagraphNode

繼承層級

建構子

constructor

new ParagraphNode(key?): ParagraphNode

參數

名稱類型
key?string

返回

ParagraphNode

覆寫

ElementNode.constructor

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:52

屬性

__textStyle

__textStyle: string

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:50


constructor

constructor: KlassConstructor<typeof ParagraphNode>

覆寫

ElementNode.constructor

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:47

函式

afterCloneFrom

afterCloneFrom(prevNode): void

prevNode 的克隆執行任何狀態更新,這些更新不由靜態克隆函式中的建構子調用處理。如果你的克隆需要更新的狀態,這些狀態未由建構子直接處理,建議覆寫此函式,但在實現中必須包含對 super.afterCloneFrom(prevNode) 的調用。這僅應由 $cloneWithProperties 函式或通過超類調用進行調用。

參數

名稱類型
prevNodethis

返回

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;
}
}

覆寫

ElementNode.afterCloneFrom

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:93


collapseAtStart

collapseAtStart(): boolean

返回

boolean

覆寫

ElementNode.collapseAtStart

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:191


createDOM

createDOM(config): HTMLElement

在和解過程中調用,以確定要插入到 DOM 中的節點。

此函式必須返回正好一個 HTMLElement。不支持嵌套元素。

在此更新生命週期階段,請勿嘗試更新 Lexical EditorState。

參數

名稱類型描述
configEditorConfig允許在和解過程中訪問如 EditorTheme(以應用類別)等內容。

返回

HTMLElement

覆寫

ElementNode.createDOM

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:101


exportDOM

exportDOM(editor): DOMExportOutput

控制此節點如何序列化為 HTML。這對於在 Lexical 和非 Lexical 編輯器之間或不同命名空間的 Lexical 編輯器之間進行複製和粘貼非常重要,此時主要的傳輸格式是 HTML。如果你還需要通過 $generateHtmlFromNodes 將其序列化為 HTML,這也很重要。你也可以使用此函式來構建自己的 HTML 渲染器。

參數

名稱類型
editorLexicalEditor

返回

DOMExportOutput

覆寫

ElementNode.exportDOM

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:127


exportJSON

exportJSON(): SerializedParagraphNode

控制此節點如何序列化為 JSON。這對於在共享相同命名空間的 Lexical 編輯器之間進行複製和粘貼非常重要。如果你需要將其序列化為 JSON 以便在某處進行持久存儲,這也很重要。參見 Serialization & Deserialization

返回

SerializedParagraphNode

覆寫

ElementNode.exportJSON

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:164


getTextFormat

getTextFormat(): number

返回

number

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:62


getTextStyle

getTextStyle(): string

返回

string

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:78


hasTextFormat

hasTextFormat(type): boolean

參數

名稱類型
typeTextFormatType

返回

boolean

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:73


insertNewAfter

insertNewAfter(rangeSelection, restoreSelection): ParagraphNode

參數

名稱類型
rangeSelectionRangeSelection
restoreSelectionboolean

返回

ParagraphNode

覆寫

ElementNode.insertNewAfter

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:176


setTextFormat

setTextFormat(type): this

參數

名稱類型
typenumber

返回

this

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:67


setTextStyle

setTextStyle(style): this

參數

名稱類型
stylestring

返回

this

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:83


updateDOM

updateDOM(prevNode, dom, config): boolean

當節點發生變化且需要更新 DOM 以使其與可能在更新期間發生的任何變化對齊時調用。

如果返回 "true",則會導致 lexical 卸載並重新創建 DOM 節點(通過調用 createDOM)。例如,如果元素標籤更改,你需要這樣做。

參數

名稱類型
prevNodeParagraphNode
domHTMLElement
configEditorConfig

返回

boolean

覆寫

ElementNode.updateDOM

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:110


clone

clone(node): ParagraphNode

克隆此節點,創建一個具有不同鍵的新節點,並將其添加到 EditorState(但不附加到任何地方!)。所有節點必須實現此函式。

參數

名稱類型
nodeParagraphNode

返回

ParagraphNode

覆寫

ElementNode.clone

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:89


getType

getType(): string

返回此節點的字符串類型。每個節點必須實現此函式,且必須在編輯器中唯一。

返回

string

覆寫

ElementNode.getType

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:58


importDOM

importDOM(): null | DOMConversionMap

返回

null | DOMConversionMap

覆寫

ElementNode.importDOM

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:118


importJSON

importJSON(serializedNode): ParagraphNode

控制此節點如何從 JSON 反序列化。這通常是模板代碼,但提供了節點實現和序列化接口之間的抽象,這在你進行結構變更(通過添加或刪除屬性)時可能很重要。參見 Serialization & Deserialization

參數

名稱類型
serializedNodeSerializedParagraphNode

返回

ParagraphNode

覆寫

ElementNode.importJSON

定義於

packages/lexical/src/nodes/LexicalParagraphNode.ts:155