Rasgos actualizados en tiempo de ejecución, no modo EDITAR.
¿Estás definiendo tu componente personalizado en un plugin?
Lee la respuesta completa abajo ↓Pregunta
Hola @artf
Tengo problemas con ciertos rasgos. Cuando arrastro y suelto el bloque en el lienzo, los rasgos aparecen bien en la sección de ajustes. pero cuando guardé y edité la segunda vez y seleccioné esa etiqueta en lienzo, esos rasgos ahora aparecen en la sección de la configuración. ¡Por favor, por favor, por favor, AYUDA!
'// Componente de Dirección Personalizada blockManager.add('header', { etiqueta: 'Encabezados', categoría: 'Componentes', medios: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.3 11.5h7.4V6.9l-.2-1.6a1 1 0 00-.5-.5c-.3-.2-.7-.3-.1-.3h-.6v-.6v-.4h6.8v.4h-.6c-.4 0-.7.1-1 .3a1 1 0 00-.6.6L18 6.9v10.3c0 .8 0 1.3.2 1.6 0 .2.2.3.4.5.4.2.2..2..7.3 1.1.3h.6v.4h-6.8v-.4h.5c.7 0 1.2-.2 1.5-.6.2-.3.3-.9.3-1.8v-4.9H8.3v4.9l.1 1.6.5.5c.3.2.7.3 1 .3h.7v.4H3.7v-.4h.6c.7 0 1.1-.2 1.4-.6.2-.3.3-.9.3-1.8V6.9L6 5.3a1 1 0 00-.5-.5l-1-.3h-.7v-.4h6.9v.4H10c-.4 0-.8.1-1 .3a1 1 0 00-.6.6l-.1 1.5v4.6z"/></svg>',
activar: 1,
select: 1,
removible: cierto, // No se puede quitar
arrastrable: cierto, // No se puede mover
copiable: true, // Desactivar copiar/pegar
Contenido: {
tipo: 'cabezal',
contenido: 'Inserta tu encabezado'
},
});
dc.addType("encabezado", {
isComponent: function(t) {
var e = t & & t.TagName;
si (e & ["H1", "H2", "H3", "H4", "H5", "H6"].indexOf(e) >= 0) devolven 1
},
extender: "texto",
modelo: {
Predeterminados: {
nombre: "Rumbo",
etiquetaNombre: "h1",
Rasgos: [
'id',
'título',
{
tipo: "select",
Opciones: [{
valor: "h1",
nombre: "Uno (el más grande)"
}, {
valor: "h2",
nombre: "Dos"
}, {
valor: "h3",
nombre: "Tres"
}, {
valor: "h4",
nombre: "Cuatro"
}, {
valor: "h5",
nombre: "Five"
}, {
valor: "h6",
nombre: "Seis (el más pequeño)"
}, , {
valor: "p",
Nombre: "Paragraph"
}],
etiqueta: "Encabezado o párrafo",
nombre: "tagName",
cambioprop: 1
}
]
}
}
});
! [imagen](https://user-images.githubusercontent.com/17553816/119492931-43bdb580-bd7d-11eb-96f5-3cfb7e44dc34.png)
Después de guardar en la base de datos, en modo edición, el encabezado no muestra los rasgos
! [imagen](https://user-images.githubusercontent.com/17553816/119493374-c181c100-bd7d-11eb-9a21-7c4d0533322d.png)
El encabezado recién añadido muestra los rasgos
! [imagen](https://user-images.githubusercontent.com/17553816/119493464-d65e5480-bd7d-11eb-8631-73d1bac670a7.png)Respuestas (4)
¿Estás definiendo tu componente personalizado en un plugin?
¿Estás definiendo tu componente personalizado en un plugin?
No. Solo hay que añadir la función de init
editor = grapesjs.init({ const dc = editor. DomComponents; Componente de Encabezado Personalizado blockManager.add('header', { etiqueta: 'Encabezados', categoría: 'Componentes', medios: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.3 11.5h7.4V6.9l-.2-1.6a1 1 0 00-.5-.5c-.3-.2-.7-.3-.1-.3h-.6v-.6v-.4h6.8v.4h-.6c-.4 0-.7.1-1 .3a1 1 0 00-.6.6L18 6.9v10.3c0 .8 0 1.3.2 1.6 0 .2.2.3.4.5.4.2.2..2..7.3 1.1.3h.6v.4h-6.8v-.4h.5c.7 0 1.2-.2 1.5-.6.2-.3.3-.9.3-1.8v-4.9H8.3v4.9l.1 1.6.5.5c.3.2.7.3 1 .3h.7v.4H3.7v-.4h.6c.7 0 1.1-.2 1.4-.6.2-.3.3-.9.3-1.8V6.9L6 5.3a1 1 0 00-.5-.5l-1-.3h-.7v-.4h6.9v.4H10c-.4 0-.8.1-1 .3a1 1 0 00-.6.6l-.1 1.5v4.6z"/></svg>',
activar: 1,
select: 1,
removible: cierto, // No se puede quitar
arrastrable: cierto, // No se puede mover
copiable: true, // Desactivar copiar/pegar
Contenido: {
tipo: 'cabezal',
contenido: 'Inserta tu encabezado'
},
});
dc.addType("encabezado", {
isComponent: function(t) {
var e = t & & t.TagName;
si (e & ["H1", "H2", "H3", "H4", "H5", "H6"].indexOf(e) >= 0) devolven 1
},
extender: "texto",
modelo: {
Predeterminados: {
nombre: "Rumbo",
etiquetaNombre: "h1",
Rasgos: [
'id',
'título',
{
tipo: "select",
Opciones: [{
valor: "h1",
nombre: "Uno (el más grande)"
}, {
valor: "h2",
nombre: "Dos"
}, {
valor: "h3",
nombre: "Tres"
}, {
valor: "h4",
nombre: "Cuatro"
}, {
valor: "h5",
nombre: "Five"
}, {
valor: "h6",
nombre: "Seis (el más pequeño)"
}, , {
valor: "p",
Nombre: "Paragraph"
}],
etiqueta: "Encabezado o párrafo",
nombre: "tagName",
cambioprop: 1
}
]
}
}
});
});La primera regla para definir nuevos tipos de componentes es colocar el código dentro de un plugin.
De docs
Gracias por informar de esto, @Palash-Mandal.
Gracias por compartir tu informe sobre Rasgos actualizados en tiempo de ejecución, no el modo EDITAR.. Para ayudar al equipo a investigar y priorizar esto:
Por favor, proporciona:
- Un ejemplo mínimo reproducible (CodeSandbox/JSFiddle)
- Tu GrapesJS número de versión
- Información sobre navegador y sistema operativo
- Cualquier mensaje de error de la consola del navegador
- Pasos para reproducir el problema
Lo que más ayuda:
- Ejemplo de código mínimo (no tu proyecto completo)
- Grabación de pantalla o captura de pantalla que muestra el problema
- Comportamiento esperado frente a comportamiento real claramente indicado
- Configuración GrapesJS que estás usando
Con estos detalles, los mantenedores pueden identificar y priorizar una solución mucho más rápido. El equipo de GrapesJS responde muy bien a los problemas bien documentados.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3699
El flotamiento de la celda desplaza aleatoriamente a la celda real
¡Hola! Estoy usando grapesJs para editar correos electrónicos en un proyecto de mi empresa, con el plugin Newsletter. Todo funciona muy bie...
Issue #3329
¿Cómo debería recibir modificaciones de rasgos personalizados en el script?
Hola, @artf, este es un marco estupendo, muchas gracias. Ahora lo estoy usando para crear componentes del framework móvil de BUI y me encon...
Issue #3449
Cambiar de página llama a estilos y scripts de canvas una y otra vez
Hola Estoy integrando el gestor de páginas en mi proyecto. Pero el problema que tengo es que cada vez que cambio entre páginas, carga archi...
Issue #4837
Los IDs de elementos HTML se incrementan en diferentes páginas cargadas en projectData
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Firefox 109 Enlace de demo reproducible h...
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
Ship to Production Faster: What’s New in GrapesJS Shadcn
Supercharge your page builder! GrapesJS Shadcn adds live drag previews, rich text / commands, dynamic data, and canvas presets to ship to prod faster.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Embed GrapesJS in Your SaaS: A Weekend Guide
Embed GrapesJS in your SaaS and ship a white-label page builder over a weekend. Honest tradeoffs, real code, and the plugins that close the UX gap.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.