Undo manager not working properly on undoing a remove action
Sí, deshacer activa el 'change:columns', en tu caso podrías intentar envolver tus cambios en 'updateColumns' en el 'editor'. Deshacer. Gestionador.saltar. '''js updateColumns() { editor. UndoManager.skip(() => { Tus operaciones }) } ```
Lee la respuesta completa abajo ↓Pregunta
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome - versión 110.0.5481.100 (Versión oficial) (arm64)Enlace de demo reproducible https://codepen.io/faisal-praella/pen/ExeNwxJDescribe el bichoHe añadido un componente personalizado columns con un nombre de rasgo numérico columns usado para añadir o eliminar la columna del componente hijo.Cuando añado una columna nueva usando el rasgo y deshago el cambio, funciona bien, pero cuando elimino la columna y deshago el cambio, se añade una columna extra.Esto puede deberse a que cuando Grapesjs deshac...
Respuestas (4)
Sí, deshacer activa el 'change:columns', en tu caso podrías intentar envolver tus cambios en 'updateColumns' en el 'editor'. Deshacer. Gestionador.saltar. '''js updateColumns() { editor. UndoManager.skip(() => { Tus operaciones }) }
Vale, entonces cierro este y por favor abre un nuevo problema de error relacionado con rasgos de casilla.
Gracias, @artf funciona, para arreglarlo estaba desactivando el oyente de cambio de rasgos escuchando los eventos de deshacer el comando antes y ejecutar, pero esto se siente más limpio. El rasgo de casilla no se marca ni desmarca al deshacer o rehacer (el valor del rasgo se actualiza por mi parte)...
Gracias por informar de esto, @FaisalShaikhHA. Buena pregunta sobre El gestor de deshacer no funciona correctamente para deshacer una acción de eliminación. El enfoque recomendado con UndoManager es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo es...
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #5632
Añadir un cambio al desadministrador
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome v91 Enlace de demo reproducible ht...
Issue #4812
La propiedad en capas no funciona como se espera en el escenario padre-hijo.
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? 107.0.5304.110 (Versión oficial) (arm64)...
Issue #5631
Deshacer el add() del gestor no funciona como se esperaba
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome v91 Enlace de demo reproducible --...
Issue #6263
Los enlaces duplicados se añaden usando rte
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? ChromeEnlace de demo reproducible https://c...
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
Cómo construir un creador de páginas impulsado por IA con GrapesJS en 2026
Lo que aprendimos construyendo GJSDocs — desde la simple generación de texto con IA hasta la edición visual estructurada y consciente del contexto
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
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.