Issue #5379✓ ResueltoAbierto el 12 de septiembre de 2023por Sw33tgtReacciones 4

Las modificaciones de clase de los componentes no se detectan automáticamente

Respuesta rápidapor Sw33tgt2

Por ahora, como solución temporal, he añadido esto en una función 'editor.on('component:mount', (component) => {});' hasta que se reciba cualquier retroalimentación. Parece que funciona bien. En el caso de que una clase se elimine de la definición, la clase eliminada seguirá estando disponible en la lista de clases de...

Lee la respuesta completa abajo ↓

Pregunta

Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome Versión 116Enlace de demo reproducible https://jsfiddle.net/h5b0ndvL/1/Describe el bicho Cuando un componente se vuelve a renderizar en el lienzo, se renderiza un nuevo atributo añadido a la definición del modelo, pero una clase recién añadida no se añade cuando el componente se renderiza en el lienzo. La función de inicialización de Component.ts añadir los atributos por defecto así como el atributo del componente. 'this.set('attributes', { ... (resultado(this, 'defaults').atributos || {}),...

Respuestas (4)

👍 Muy útilSw33tgt12 de septiembre de 2023

Por ahora, como solución temporal, he añadido esto en una función 'editor.on('component:mount', (component) => {});' hasta que se reciba cualquier retroalimentación. Parece que funciona bien. En el caso de que una clase se elimine de la definición, la clase eliminada seguirá estando disponible en l...

Sw33tgt20 de septiembre de 2023

sí, esto es intencionado con las clases, con tu enfoque no podrás eliminar clases definidas del componente, seguirán añadiéndose en el componente dentro de la estructura. Lo cual está bien cuando una clase ha sido olvidada en un componente y queremos añadirla en otra versión del plugin en render. E...

Sw33tgt12 de septiembre de 2023

Algo así en la función initClasses() de Component.ts añadiría las nuevas clases al elemento en render. Déjame saber qué te parece: '''Manuscrito mecanografiado const cls = this.get('classes') || attrCls || []; Cambiando de const a Sea sea clsArr = isString(cls) ? cls.split(' ') : cls; / Comparar co...

ClaudeCode17 de mayo de 2026

Gracias por informar de esto, @Sw33tgt. Buena pregunta sobre Las modificaciones de clase de los componentes no se detectan automáticamente. El enfoque recomendado con Canvas es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo específico Busca el méto...

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.