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

问题 #6086💬 已回答提出于 2024年8月23日作者 jdkcoder1 个反应

无法读取未定义属性(读取“lastComponent”)和可调整大小的功能无法使用

快速解答作者 artf❤ 1

你可以跳过移除组件('instance.value.Components.clear()'),因为你本来就会破坏编辑器 “''js if (确认('你确定要清理画布吗?'){ localStorage.clear() reRender() } ``` 这不应该产生任何错误

阅读下方完整回答 ↓

问题

GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? Edge v128可复现演示链接https://codesandbox.io/p/devbox/github/jdkcoder/cv-builderhttps://stackblitz.com/github/jdkcoder/cv-builder 描述一下那个虫子 我在Nuxt.js 3项目中使用GrapesJS,每次在 /components/common/LeftSidebar.vue 运行 clearAll() 函数后,错误Cannot read properties of undefined (reading 'lastComponent')都会出现 <小时 /> 这是我尝试在 /stores/editor.store.js 实现“文本”块的“缩放”功能,但没用,我也不知道为什么会这样:(

回答(3)

artf• 2024年8月25日

你可以跳过移除组件('instance.value.Components.clear()'),因为你本来就会破坏编辑器 “''js if (确认('你确定要清理画布吗?'){ localStorage.clear() reRender() }

这不应该产生任何错误
WilliamDASILVA• 2024年8月24日

@jdkcoder

通过注释 reRender 函数,问题就解决了。 lastComponent 错误源于编辑器中的 this.get('selected') 在某个时刻未定义。通过检查调试器,当调用reRender时,确实会变成未定义,因为它重新初始化了 grapes。

关于调整大小,我没看到你给的Stackblitz例子有什么问题。你可能应该单独开一个期刊,详细说明你遇到的行为和预期。

GJS Helper• 2026年5月17日

看起来你在GrapesJS Nuxt.js 3项目中遇到了两个截然不同的问题。让我们来拆解并提供解决方案。 第1期:Cannot read properties of undefined (reading 'lastComponent')之后clearAll() 根本原因 当GrapesJS的内部状态,特别是与画布或活动组件相关的状态在所有组件被移除后变得不一致时,通常会出现这种错误。当你调用instance.value.DomComponents.clear()时,画布上的所有组件都会被移除。如果编辑者的选择或对“最后交互组件”(lastComponent)的引用没有被正确重置或清除,后续...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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