问题 #5373💬 已回答提出于 2023年9月8日作者 padcom1 个反应

“getDirtyCount()” 加载后返回 “1”

快速解答作者 artf1

你好@padcom这是正常行为,因为加载本身会更新编辑器的状态。 你可以在手动加载后,通过“editor.clearDirtyCount()”直接清除脏计数器。

阅读下方完整回答 ↓

问题

葡萄JS版本

  • 我确认使用最新版本的GrapesJS

你用的是什么浏览器?

Chrome最新款

可复制演示链接

https://github.com/padcom/grapes-bug-dirty-after-loading/blob/master/src/App.vue#L37

描述一下那个虫子

  1. 克隆并启动项目
Git 克隆 https://github.com/padcom/grapes-bug-dirty-after-loading
CD葡萄-虫-装载后脏
NPM I
NPM 启动
  1. 开放控制台

当前行为:变化次数为1 期望行为:变化次数为0

补充说明:使用“自动加载”时,更改次数保持为0

行为准则

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

回答(4)

artf2023年9月9日

你好@padcom这是正常行为,因为加载本身会更新编辑器的状态。 你可以在手动加载后,通过“editor.clearDirtyCount()”直接清除脏计数器。

padcom2023年9月8日

请注意,如果你启用了“自动加载”: 并禁用加载功能: 修改次数为“0”,尽管结果相同——页面被加载。因为我的项目非常需要能在特定时间加载页面,这让一切都乱了。我也尝试过在加载后清除更改次数,但由于设置代码是通过“setTimeout()”回调,无法确定性地完成。

padcom2023年9月9日

请问?你是认真的认为这是“预期”的行为吗?你见过其他编辑器加载时项目会自动修改然后自动保存吗?我很难相信。

ClaudeCode2026年5月17日

谢谢你举报,@padcom。 'getDirtyCount()'加载后返回'1'的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误

相关问答

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

问题 #4506

拖拽模式下的拖拽块错误:绝对

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v103 可复制演示链接 https://stackblitz.com/edit/js-1xpo7b 描述一下那个虫子 如何复现这个漏洞?使用dragMode:绝对(设计师模式)从块...

4 个回答更新于 2022年9月15日

问题 #4580

如果提供了“mousePosFetcher”,调整光标的起始位置也应使用。

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 任何可复制演示链接 任何描述一下那个虫子 如果有覆盖功能,启动POS也应该使用'MosePosFetcher'方法,对吧?开始 Pos ![图片](https://user-images.github...

2 个回答更新于 2022年9月13日

问题 #4579

Resizer onEnd 回调应包含类似于 onStart 的 resizer 和 el 对象

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 任何可复制演示链接 代码请见截图描述一下那个虫子 有什么因素阻止我们在onEnd回调中添加调整尺寸和EL吗?因为我们正在重复使用缩放实例(除非是 forceNew)。我希望在调整尺寸结束时能清理一下调...

2 个回答更新于 2022年9月13日

问题 #3940

更新按钮文本的问题

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome - 版本 95.0.4638.69可复制演示链接 两个地方:https://grapesjs.com/demo.html 和我这里有个仓库:https://github.com/dan-...

2 个回答更新于 2021年11月20日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

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