-
Notifications
You must be signed in to change notification settings - Fork 11
Description
π Bug Report
TipTap library is used in rich text editor.
Cannot update placeholder dynamically after editor initialization in TipTap v3
π» Repro or Code Sample
Our rich text editor component has a placeholder attribute that needs to update dynamically when the attribute changes.
π€ Expected Behavior
The placeholder text should update when the component's placeholder attribute changes, similar to Tiptap v2 behavior where extension options could be modified directly.
π― Current Behavior
In TipTap v3, extension options cannot be modified after initialization because extension.options returns a new object each time. Direct modification and force refresh approaches don't work.
We're forced to destroy and reinitialize the entire editor, which:
- Causes performance issues and UI jank
- Requires manually preserving and restoring editor state, content, and cursor position
- Feels like a workaround rather than a proper solution
π Possible Solution
Related upstream issue: ueberdosis/tiptap#6537 (comment)
π¦ Context
This affects our web component that wraps the TipTap editor. The placeholder text is passed as an HTML attribute and can change based on parent component state (e.g., different placeholders for different entity types or user contexts). The current workaround is expensive and degrades user experience.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status