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
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
Tutorial
¿Cuánto cuesta construir un creador de páginas SaaS en 2026?
¿Cuánto cuesta crear un creador de páginas SaaS en 2026? Explora los costes realistas de desarrollo, los plazos, las funciones y cómo el uso de GrapesJS puede r
Tutorial
PageKit: la GrapesJS aplicación que tendrías que construir de todas formas
Una aplicación de Next.js disponible en el código fuente alrededor del núcleo de GrapesJS de código abierto — publicación, dominios personalizados, contactos, c
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.