PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #5631💬 已回答提出于 2024年1月19日作者 Harshsne260 个反应

撤销管理器 add () 无法如预期工作

快速解答作者 artf

@Harshsne26你需要提供一个可复现的漏洞演示

阅读下方完整回答 ↓

问题

GrapesJS版本

  • 我确认使用最新版本GrapesJS

你用的是什么浏览器?

Chrome v91

可复制演示链接

--

描述一下那个虫子

如何复现这个漏洞? 我想在undomanager堆栈中添加一个更改。 var components = editor.Components;editor.UndoManager.add(components.getComponents().models);

预期的行为是什么? 用um.add()添加的更改应该被添加......当我点击撤销和重做时,这个更改也应该显示出来。

目前的行为是什么? 该变更不会被添加。

行为准则

  • 我同意遵守本项目的行为准则

回答(2)

artf• 2024年1月19日

@Harshsne26你需要提供一个可复现的漏洞演示

GJS Helper• 2026年5月17日

你遇到的 editor.UndoManager.add() 不按预期工作的问题,源于对方法预期用途及其预期参数类型的误解。GrapesJS UndoManager 旨在跟踪编辑器整体状态的变化,而非直接跟踪单个模型集合。 根本原因 参数类型错误:editor.UndoManager.add()方法期望以State对象作为其参数。State对象是编辑器内容的全面快照,通常包含诸如html、css、components(序列化的JSON字符串或对象)、styles、pages和assets等属性。你传递的是components.getComponents().models,这是一个表示当前DOM...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。