Skip to content

Rich text editor placeholder extension options not updatable in tiptap v3Β #2752

@kalaiarasi-ni

Description

@kalaiarasi-ni

πŸ› 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

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions