Layerable property not working as expected in parent-child scenario.
Unfortunately this is how layerable currently works so it's not a bug, but I'd be glad to accept a PR to improve this behaviour.
Read full answer below βQuestion
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
107.0.5304.110 (Official Build) (arm64)
Reproducible demo link
https://codepen.io/faisal-praella/pen/rNvOwgR
Describe the bug
When the parent component is set to layerable: false it is not visible & all its child not visible in the layer manager.
When one of its child components is set to layerable: true it should be visible in the layer manager.
What is the expected behavior?
The parent component should be hidden along with its children but the child with layerable: true should be visible in the layer manager.
What is the current behavior?
The child with layerable: true is not visible in the layer manager.
<section data-gjs-layerable='false'>
<div>Bar Foo</div>
<h2 data-gjs-layerable='true'>Lorem ipsum</h2> // not visible in layer manager
<p>Foo bar</p>
<section>
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (2)
Unfortunately this is how layerable currently works so it's not a bug, but I'd be glad to accept a PR to improve this behaviour.
Thanks for reporting this, @FaisalShaikhHA.
The issue with Layerable property not working as expected in parent-child scenario. appears to be a race condition or state management timing problem. This typically happens when component lifecycle events and DOM modifications overlap, creating an inconsistent state.
What to try:
- Add a setTimeout wrapper to ensure the DOM has settled:
setTimeout(() => {
// your operation here
}, 0);
-
Check initialization order β make sure components are fully loaded before you interact with them
-
Use the editor's event system β listen to completion events:
editor.on('component:mount', (component) => {
// safe to interact with component here
});
Recommended next steps:
- Test with the latest GrapesJS version if you haven't
- Provide a minimal reproducible example (CodeSandbox) β this helps the team identify the root cause faster
- Include GrapesJS version, browser, and console errors in your report
Related Questions and Answers
Continue research with similar issue discussions.
Issue #4947
Undo manager not working properly on undoing a remove action
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome - version 110.0.5481.100 (Official Bu...
Issue #4752
Component with pointer-events: 'all' (except wrapper) or editable component are draggable & droppable to itself.
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome 107.0.5304.121 (Official Build) (arm6...
Issue #4546
Component disappears when we select all the inner text and use backspace. Link component disappears even when we try to update the text.
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Version 104.0.5112.101 (Official Build) (arm...
Issue #6590
Able to access/delete/drag the locked components in layermanager
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? chrome Reproducible demo link https://code...
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
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Tutorial
GrapesJS vs Webflow vs Tilda: What to Choose for Your Business in 2026
Choosing the right website platform in 2026 is no longer just about building a site
Tutorial
GJS Market 2.0 - Donations, Tracking, Labels and Better Product Discovery
Weβve rolled out a new set of GrapesJS marketplace updates across GJS Market, focused on improving how creators distribute products
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.