Problemas con GrapesJS

Problemas analizados por 3,464 en GitHub 370 resuelto · 90 abierto. Busca, filtra y explora respuestas probadas en batalla.

Se han detectado problemas con 466

🔍 components
#670613 de febrero de 2026por saeedhbi3 respuestas
Reacciones 0

TypeError: e.getRoot no es una función (condición de carrera en el Gestor de estilos)

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Todos los navegadores (Chrome, Safari, Firefox, Edge) Enlace de demo reproducible https://jsfiddle.net/saeedhbi/powxyjdq/3/ Describe el bicho ¿Cómo reproducir el bicho? Inicializar un editor GrapeJS Seleccionar un componente en el...

artf

Similar a https://github.com/GrapesJS/grapesjs/issues/6705 No puedo crear ese tipo de condición de carrera (por ejemplo, seleccionar y eliminar mediante API) y en tu ejemplo estoy comprobando getRoot en un componente, pero no existe tal mé...

saeedhbi

Igual que https://github.com/GrapesJS/grapesjs/issues/6705#issuecomment-3921025039, el problema estaba en nuestra biblioteca externa que usaba GrapeJS y, como tuve la misma situación que el 6705, lo cerraré. Gracias por tu reseña.

ClaudeCode

Gracias por informar de esto, @saeedhbi. Buena pregunta sobre TypeError: e.getRoot no es una función (condición de carrera en el Style Manager). El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Cons...

#670513 de febrero de 2026por saeedhbi3 respuestas
Reacciones 1

TypeError: No se pueden leer propiedades de undefined (leyendo 'toLowerCase') en el handler de teclado

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Todos los navegadores (Chrome, Safari, Firefox, Edge) Enlace de demo reproducible https://jsfiddle.net/saeedhbi/tdsLa6qe/ Describe el bicho ¿Cómo reproducir el bicho? Crear un editor básico de GrapeJS (versión 0.22.11 o 0.22.14) A...

saeedhbi

Hola @artf, tras investigar más a fondo en la traza completa de la pila, descubrí que el error no está en GrapesJS. La llamada 'event.key.toLowerCase()' proviene de nuestro propio código de aplicación — un global 'window.addEventListener("...

artf

Hola @saeedhbi, ¿dónde ves exactamente 'event.key.toLowerCase()' en nuestro código? ¿Seguro que no viene de tu lado? Por desgracia, el jsfiddle no ayuda, parece que la IA está 😅 demasiado descuidada, ni siquiera carga el editor. ¿Quizá pu...

ClaudeCode

Gracias por informar de esto, @saeedhbi. Excelente pregunta sobre TypeError: No se pueden leer propiedades de undefined (leyendo 'toLowerCase') en el manejador de teclado. El enfoque recomendado con Canvas es usar la API orientada a evento...

#66964 de febrero de 2026por jasonvijayyRespuesta 1
Reacciones 0

Se cierra al llamar a component.replaceWith() durante eventos del ciclo de vida con UndoManager activado

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible https://codepen.io/Logeshwaran-codepen/pen/raLJpYb Describe el bicho ¿Cómo reproducir el bicho? Seleccionar los componentes disponibles en lienzo. Escucha un evento del ciclo de vida (por ejemplo...

ClaudeCode

Gracias por informar de esto, @jasonvijayy. Buena pregunta sobre Crash al llamar a component.replaceWith() durante eventos del ciclo de vida con UndoManager activado. El enfoque recomendado con ProseMirror es usar la API orientada a evento...

#668512 de enero de 2026por shery4 respuestas
Reacciones 0

Los estilos de componentes personalizados no se aplican tras la eliminación y la re-suma

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome v143.0.7499.193 Enlace de demo reproducible https://codesandbox.io/p/sandbox/2l3887 Describe el bicho ¿Cómo reproducir el bicho? Abre la página y carga el editor GrapesJS Selecciona el componente Fila y elimínalo Haz clic e...

mdmontesinos

Me estoy enfrentando a un problema similar, donde el componente reañadido tiene la propiedad de estilos correctos: <img width="1112" height="17" alt="Image" src="https://github.com/user-attachments/assets/474011c4-b1be-48df-9aa8-14c3dcdfc6...

artf

@mdmontesinos tu uso no es correcto, los 'estilos' deben definirse en la definición de componentes, y no se espera que cambien. Además, es incorrecto usar IDs para la definición de componentes si se espera que el componente se reutilice, e...

mdmontesinos

@artf estoy usando un ID porque siempre habrá una instancia única de ese componente en mi proyecto. Mi caso de uso es que un componente está diseñado externamente para usarse como "fondo de fondo" y luego importado a proyectos que lo utili...

#66837 de enero de 2026por derikb3 respuestas
Reacciones 0

Los modales se cierran con el evento de mouseup fuera del modal en lugar de con un clic completo

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome 143.0.7499.169 Enlace de demo reproducible https://grapesjs.com/demo.html Describe el bicho ¿Cómo reproducir el bicho? Arrastra un componente de código personalizado a la página. El modal debe abrirse automáticamente, de lo...

derikb

Por si sirve de algo, usé la página de demostración como enlace reproducible, aunque esa página no usa la versión más reciente de grapesjs. Mi código local está usando la versión reciente y muestra el mismo problema.

derikb

Vale, entiendo por qué está pasando. Porque el modal y su entorno son todos un elemento que tiene los eventos asociados, así que un mousedown, arrastrar, mouseup sigue tratándose como clic porque todo está sobre el mismo elemento. Event.ta...

ClaudeCode

Gracias por informar de esto, @derikb. Buena pregunta sobre los modales que cierran al acercarse fuera del modal en lugar de un clic completo. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Con...

#667817 de diciembre de 2025por J-Wick4Respuesta 1
Reacciones 0

YouTube ahora requiere el atributo referrerpolicy="origen-estricta-when-cross-origin" en los iframes de vídeo incrustados para una reproducción adecuada.

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Valiente Enlace de demo reproducible na Describe el bicho ¿Cómo reproducir el bicho? Prueba a añadir un vídeo de YouTube a una página de destino y averígualo. ¿Cuál es el comportamiento esperado? El vídeo de YouTube se renderiza y...

ClaudeCode

Gracias por informar de esto, @J-Wick4. ¡Gran sugerencia sobre YouTube ahora requiere el atributo referrerpolicy="strict-origin-when-cross-origin" en los iframes de vídeo incrustados para una reproducción adecuada.! Aunque esta función esp...

#667414 de diciembre de 2025por OfirD12 respuestas
Reacciones 0

Los enlaces ancla con navegación por hash no funcionan en modo de vista previa

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Chrome 143.0.7499.41 Enlace de demo reproducible https://jsfiddle.net/mghzw41k/2/ Describe el bicho En modo de vista previa, los enlaces de ancla con navegación por hash (por ejemplo, href="#section") no funcionan. Se impide el co...

doudou673

Me encontré con el mismo problema.

ClaudeCode

Gracias por informar de esto, @OfirD1. ¡Gran sugerencia sobre los enlaces ancla con navegación hash no funcionan en modo previsualización! Aunque esta función específica aún no está en la API principal, existen varias formas de lograr un c...

#66719 de diciembre de 2025por padcom2 respuestas
Reacciones 1

'component.closestType()' no está definido

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Cualquiera Enlace de demo reproducible https://github.com/padcom/grapesjs-closestType-missing Describe el bicho Este error fue introducido en aquí. Antes de este cambio, todo funcionaba como se esperaba. Supongo que el evento de '...

padcom

Resulta que el segundo parámetro no siempre es el componente sino el emisor del evento, lo que significa que a veces es la colección de componentes que obviamente no tiene el método 'closestType()'. ¡Gracias @artf por explicármelo!

ClaudeCode

Gracias por informar de esto, @padcom. Buena pregunta sobre 'component.closestType()' que no está definido. El enfoque recomendado con Canvas es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu mód...

#666628 de noviembre de 2025por lexoyo2 respuestas
Reacciones 2

Panel de capas: arrastrar y soltar hace que los objetos desaparezcan (Firefox y Chrome)

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Firefox 137.0 y Chrome 136.0.7103.92 Enlace de demo reproducible https://grapesjs.com/demo.html Describe el bicho ¿Cómo reproducir el bicho? Abrir la demo oficial https://grapesjs.com/demo.html Para reproducir exactamente la misma...

pierodetomi

Puedo confirmar que veo el mismo problema, y que se debe a que el elemento que desaparece tiene una altura calculada de '0px' (porque usa display: ninguno). Aunque esto es definitivamente un error, como solución temporal puedes evitar usar...

ClaudeCode

Gracias por informar de esto, @lexoyo. Buena pregunta sobre Panel de capas: arrastrar y soltar hace que los objetos desaparezcan (Firefox y Chrome). El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí:...

#665925 de noviembre de 2025por NilLlisterri4 respuestas
Reacciones 1

Estilos de símbolos no sincronizados

Versión GrapesJS [x] Confirmo que uso la última versión de GrapesJS ¿Qué navegador usas? Firefox 145.0 (64 bits) Enlace de demo reproducible https://jsfiddle.net/artur_arseniev/ta19s6go/ Describe el bicho ¿Cómo reproducir el bicho? Ve a la demo oficial de Símbolos, crea un símbolo y cambia el color del texto del símbo...

NilLlisterri

Entendido, si quiero estilizar algo dentro de un símbolo y compartir los cambios debería añadirle una clase. ¡Gracias a ambos por la ayuda!

lexoyo

Hola Este color se aplica al elemento, en grapesjs esto significa que generará un css como '#compid { color: red; }pero los IDs son únicos en una página HTML, por lo que el otro símbolo tiene un ID diferente A mí también me pasa el problem...

artf

Lo siento, no es un error, sino una "característica" 😅 En mi opinión, los estilos de componentes no deberían estar ligados a símbolos; Es una forma fácil de anular estilos entre símbolos similares (algo común). Si necesitas los mismos est...

Explora todos los temas