El componente personalizado no funciona después de guardar.
Deberías añadir algún tipo a tu componente y luego analizarlo en isComponent Por ejemplo, el enlace de botones similar componentes const = editor. DomComponents; const link = components.getType('link'); components.addType('custom-link-button', { modelo: link.model.extend({ defaults: Object.assign({}, link.model.protot...
Lee la respuesta completa abajo ↓Pregunta
Hola,
Tengo un componente personalizado de Button-Link creado, y cuando arrastré el contenido a Canvas por primera vez, el componente detecta sus atributos y estilos. Pero después de guardar el componente y recargar la página, falta el tipo de componente personalizado en ese componente, en su lugar muestra el componente tipo de enlace. ¿Cómo preservar los componentes personalizados incluso después de guardar?
Respuestas (3)
Deberías añadir algún tipo a tu componente y luego analizarlo en isComponent
Por ejemplo, el enlace de botones similar
componentes const = editor. DomComponents;
const link = components.getType('link');
components.addType('custom-link-button', {
modelo: link.model.extend({
defaults: Object.assign({}, link.model.prototype.defaults, {
atributos: { 'link-extended': 'botón personalizado-link-button },
}),
}, {
isComponent: (el) => {
Sea resultado;
if (el.tagName == 'A' & el.attributes['link-extended']
&& el.attributes['link-extended'].value === 'custom-link-button') {
resultado = {
Tipo: 'botón de enlace personalizado',
editable: 0
};
El enlace solo es editable si, al menos, uno de sus
Children es un nodo de texto (no uno vacío)
hijos const = el.childNodes;
const len = hijos.longitud;
if (!len) elimina result.editable;
para (sea i = 0; i < len; i++) {
hijo const = hijos[i];
if (child.nodeType == 3 && child.textContent.trim() != '') {
eliminar result.editable;
pausa;
}
}
}
resultado de retorno;
}
}),
Ver: link.view
});@krishnaeverestengineering ¿Cómo guardas y cargas tu trabajo?
Lee la documentación, por favor https://grapesjs.com/docs/modules/Storage.html
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2587
Componente personalizado, necesito 4 columnas a la vez cuando arrastro
Hola @artf, he creado un componente personalizado, donde necesito mostrar 4 columnas con un estilo específico cuando arrastro un componente...
Issue #3406
Cómo crear un gestor de almacenamiento personalizado, no configura los datos guardados del canvas, después de recargar la página
Hola a todos, quiero guardar datos de Canvas en Redux Store, y funciona, pero después de recargar la página, el método de carga de almacena...
Issue #1906
Componentes y Js - Plantilla de carga
Hola, Tengo un componente al que se le conecta un JS. Todo se crea usando el JS. Cuando arrastro y suelto mi bloque por primera vez, el JS...
Issue #1493
[PREGUNTA] render() funciona a la primera, pero no en las llamadas posteriores
Hola, He creado un componente personalizado que muestra imágenes usando 'imagen de fondo' en un '<div>' en lugar de usar un <img>elemento '...
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
GrapesJS Inline RTE Plugins Update: CKEditor 5 v0.1.4 and Froala Inline Text Editor
CKEditor 5 Inline for GrapesJS v0.1.4 fixes Studio SDK toolbar clipping, iframe injection and link balloon bugs. Compare with Froala Inline — both $69.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.