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

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

自定义组件在初次渲染时无法在 grapsjs/studio 中显示

快速解答作者 artf

当你想在 GrapesJS API 层面扩展某些东西时,可以使用这些插件 “''js <StudioEditor ref={editorRef} 选项={{ 插件:[ editor => addCustomComponent(editor) ], // ... ```

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

镀铬

可复制演示链接

https://stackblitz.com/edit/vitejs-vite-4noagg?file=src%2FApp.tsx

描述一下那个虫子

我第一次在 React 应用渲染时无法看到我的自定义组件,当我尝试在块块部分搜索它时,它就出现了,搜索后可以在块块块中看到它。

行为准则

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

回答(3)

artf• 2024年8月25日

当你想在 GrapesJS API 层面扩展某些东西时,可以使用这些插件 “''js <StudioEditor ref={editorRef} 选项={{ 插件:[ editor => addCustomComponent(editor) ], // ...

GJS Helper• 2026年5月17日

你遇到的问题是,你的自定义组件块在第一次渲染时看不到,但搜索后会出现,这是GrapesJS如何初始化其UI组件,特别是块管理器,以及自定义块何时被注册时有关的常见时间问题。 根本原因 在你提供的StackBlitz示例中,你是在editorInstance.on('load', ...)回调中注册自定义组件(my-component)及其对应的块(my-block): GrapesJS 中的load事件是在编辑器完成初始设置并渲染完核心界面元素(包括块管理器)之后触发的。块管理器最初渲染时,它会查询所有当前注册的块。由于你的my-block只在这次初次渲染之后(load事件触发时)注册,所以...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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