Issue #2742💬 RespondidoAbierto el 28 de abril de 2020por ghostReacciones 1

¿Cómo evitar la generación de IDs únicos?

Respuesta rápidapor pouyamiralayi1

Hola @nikita-balakirev, mira si comentario #2706 puede ayudarte. ¡Salud!

Lee la respuesta completa abajo ↓

Pregunta

¡Hola! Gracias por tu trabajo @artf. Este es un código simplificado de cómo uso grapesjs, quiero guardar los estilos y luego volver a aplicarlos. El problema es que los ids ya cambiaron en DOM tras la primera llamada a 'container.components()', por lo que los estilos no se aplican. ¿Cómo prevenir este comportamiento? ¿Qué debería limpiar/reiniciar?

envoltorio = [...]
Estilo = [...]
componentes = [{mainBody: [...]}]

this.editor.setComponents(
  ¿Array.isArray(wrapper)? this.pruneWrapper(wrapper): wrapper,
);
const uvasEnvoltura = this.editor.getWrapper();

const [contenedor] = uvapesWrapper.find(
  '[data-main-container]',
);

si (contenedor) {
  container.components(components.mainBody);
}
si (estilo) {
  this.editor.setStyle(style);
  const grapesJsWrapper = this.editor.getWrapper();
  grapesJsWrapper.rerender();

}

Respuestas (3)

pouyamiralayi30 de abril de 2020

Hola @nikita-balakirev, mira si comentario #2706 puede ayudarte. ¡Salud!

ghost28 de abril de 2020

Ahora lo he arreglado usando 'editor. DomComponents.componentsById = {};' pero creo que puede provocar colisiones entre bloques en algún momento ¿Qué opinas?

artf4 de mayo de 2020

Lo siento, @nikita-balakirev no puede ayudarte aquí sin un ejemplo completamente reproducible. Cuando exportas componentes como JSON, todos los IDs se conservan y se reutilizan si cargan correctamente, así que seguro que estás haciendo algo mal al almacenar/cargar datos. Obviamente no deberías impedir la generación de IDs únicos (ni hacer lo que hiciste) porque rompería muchas cosas

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 →

Explorar categorías de plugins

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