Undo doesn't work after a Component's innerHTML is changed
UndoManager tracks component state changes, not its DOM. This should work in your case element.components('Hello Planet')
Read full answer below βQuestion
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Latest Reproducible demo link https://jsfiddle.net/condsjm1/ Describe the bug How to reproduce the bug?Change a Component's innerHTML Press CTRL + Z What is the expected behavior? To undo the content What is the current behavior? Doesn't undo the content Description: On the fiddle, press the button that says 'Change to Hello Planet' and then select the editor and press CTRL + Z and the undo won't work (nor the redo), but if you change the 'Hello World' text normally it works fine. I think I'm chan...
Answers (3)
UndoManager tracks component state changes, not its DOM.
This should work in your case element.components('Hello Planet')
@artf Thanks!
The issue you're encountering is due to directly manipulating the component's innerHTML property, which bypasses GrapesJS's internal change tracking mechanism. GrapesJS's undo/redo manager (part of the Editor instance) only registers changes that occur through its own API or user interactions withi...
Related Questions and Answers
Continue research with similar issue discussions.
Issue #6143
BUG/[QUESTION]: How to correctly wrap a Component on add/mount?
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v128 Reproducible demo link https:/...
Issue #5742
Building on Windows 10+
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v122 Reproducible demo link N/A Des...
Issue #5632
Add a change to the undomanager
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v91 Reproducible demo link https://...
Issue #5631
Undo manager add() not working as expected
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v91 Reproducible demo link -- Descr...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.
Browse free plugins βPremium plugins ship with support, regular updates, and production-ready features β save days of integration work.
Browse premium plugins βRelated tutorials
In-depth guides on the same topic.
Tutorial
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish β plugins, articles, community questions, guides, authors and services. Press βK from any page.
Tutorial
How to Build an AI-Powered Page Builder with GrapesJS in 2026
What we learned building GJSDocs β from simple AI text generation to structured, context-aware visual editing
Tutorial
How Much Does It Cost to Build a SaaS Page Builder in 2026?
How much does it cost to build a SaaS page builder in 2026? Explore realistic development costs, timelines, features, and how using GrapesJS can reduce
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.