Cómo guardar los rasgos añadidos dinámicamente
lo conseguí teniendo un atributo de conteo en el componente y luego sumando los tiempos de recuento de rasgos en la entrada del contenedor. Esta es la forma correcta. Los rasgos se saltan intencionadamente del JSON, de lo contrario pondrías en pausa la definición de tu componente en el almacenamiento (por ejemplo, el...
Lee la respuesta completa abajo ↓Pregunta
Hola @artf, tengo un componente personalizado que tiene un rasgo de botón. Cuando se pulsa el botón, añado dinámicamente un rasgo personalizado usando 'comp.addTrait()'. Cuando cargo la plantilla guardada, quiero que el contenedor muestre también los rasgos añadidos dinámicamente. (Estoy cargando la plantilla usando componentes, pero los rasgos añadidos dinámicamente no se muestran). ¿Qué podría estar haciendo mal?
Respuestas (4)
lo conseguí teniendo un atributo de conteo en el componente y luego sumando los tiempos de recuento de rasgos en la entrada del contenedor. Esta es la forma correcta. Los rasgos se saltan intencionadamente del JSON, de lo contrario pondrías en pausa la definición de tu componente en el almacenamien...
@artf, gracias por responder. Eso fue una información realmente valiosa.
Lo conseguí teniendo un atributo de recuento en el componente y luego sumando los tiempos de recuento de rasgos en la entrada del contenedor.
Gracias por informar de esto, @theSC0RP. Buena pregunta sobre Cómo guardar los rasgos añadidos dinámicamente. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo específico Busca el método del oyente de even...
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3541
¿Cuál es la forma idiomática de añadir y eliminar clases de los componentes?
Hola 👋 ¡Me encanta el editor! Estamos usando rasgos para modificar las clases que tiene un componente, pero eso resulta un poco forzado po...
Issue #3185
¿Cómo obtener el rasgo del modelo de un componente?
Hola, He añadido un nuevo tipo de "array" al TraitManager. Así que puedo añadir varios subrasgos. En un punto tengo que comprobar los rasgo...
Issue #3270
¿Cómo exportar código JS desde componentes de Angular?
Hola, estoy usando grapesjs en mi app de Angular Tengo un componente personalizado de Angular (que básicamente es HTML personalizado creado...
Issue #3258
Evitar/desactivar bloques personalizados dentro de otros bloques personalizados
Hola, Tengo un componente personalizado, llamémoslo Section Block. Quiero evitar que el usuario deje caer bloques de sección dentro de otro...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
Vanilla GrapesJS vs GrapesJS With Plugins: What You Actually Get Out of the Box (2026)
New to GrapesJS? See exactly what the stock editor gives you, where it falls short, and which plugins close the gaps — a beginner-friendly 2026 comparison
Tutorial
Lighthouse for GrapesJS: Audit Accessibility and SEO Without Leaving the Editor
Live WCAG 2.1/2.2 accessibility auditor + SEO manager for GrapesJS. Every finding is bound to the exact component — click to select, then one-click fix.
Tutorial
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.