Problema con el tipo de componente personalizado y la celda de la tabla
@kuhelbeher tu código es correcto (excepto 'extend: 'cell'' y no 'extendes: 'cell'), desafortunadamente, hay un bug (o una lógica defectuosa) aplicada en el componente de fila, así que, por ahora, sugeriría añadir esto como un parche: '''js const modelDefault = domc.getType('default').model; domc.addType('row', { mode...
Lee la respuesta completa abajo ↓Pregunta
¡Hola! Estoy intentando añadir un tipo de componente personalizado: '''javascript domc.addType('image-block', { extender: 'celda', modelo: { valores predeterminados: función () { return { nombre: 'Imagen de fondo', Tipo: 'Bloque de imagen', etiquetaNombre: 'td', nulo: falso, Droppable: Cierto } } }, isComponent (el) { if (el.tagName === 'TD' && el.classList.contains('bg-image')) { return { type: 'image-block' } } } }) Pero cuando dejo este bloque en el lienzo, la <td> etiqueta no aparece ni en el lienzo ni en el DOM. Si elimino la función isComponent de la definición de componentes, funciona...
Respuestas (3)
@kuhelbeher tu código es correcto (excepto 'extend: 'cell'' y no 'extendes: 'cell'), desafortunadamente, hay un bug (o una lógica defectuosa) aplicada en el componente de fila, así que, por ahora, sugeriría añadir esto como un parche: '''js const modelDefault = domc.getType('default').model; domc.a...
@kuhelbeher porque tu componente es una 'tabla' según la definición de contenido de arriba y no un 'td' como se define en tu addType de la propiedad 'TagName'?
@noogen no creo que el problema esté en esto. Intenté definir componente y bloque así: '''javascript domc.addType('custom-cell', { extiende: 'célula', modelo: { Predeterminados: { removible: falso, nombre: 'Celda personalizada', Tipo: 'célula personalizada', copiable: falso, etiquetaNombre: 'td' }...
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2696
¿Cómo puedo crear bloque con imagen de fondo con un comportamiento similar a una "imagen" incorporada?
Hola, estoy intentando crear un bloque con imagen de fondo (similar a Grapedrop Image Box). He añadido un componente nuevo así: '''javascri...
Issue #2777
Cómo actualizar estilos en el Gestor de estilos
Hola. Creé un componente personalizado donde configuré imagen de fondo mediante un gestor de recursos personalizado Código de bloque person...
Issue #2359
Modo absoluto, el estilo del componente desaparece al arrastrarse al lienzo
Hola chicos, estoy trabajando con grapesjs, cuya versión es '0.15.8', y en modo 'absoluto', cuando arrastro un bloque al lienzo, noto que f...
Issue #5334
La selección del tipo de componente personalizado no funciona en el lienzo
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome, Opera, Edge, etc Enlace de demo r...
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
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.
Tutorial
How We Built Composeit in Record Time Using GrapesJS Shadcn
Bypass foundational builder boilerplate and focus on what truly matters.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.