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

问题 #5144💬 已回答提出于 2023年5月25日作者 duclet1 个反应

PanelManager.addPanel 的类型定义错误

快速解答作者 duclet❤ 1

@artf - 你没读完整句子。你可以清楚地看到代码本身,它要求作为完整的“面板”对象给出的参数。在你的文档(如链接所示)中,你并没有给它完整的“面板”对象,而是给它一个带有这些项目的对象。你的例子如下: TypeScript 会抱怨的是,分配给它的对象既不是“面板”的实例,也不是对象属性的数组。

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

全部

可复制演示链接

没有

描述一下那个虫子

函数定义如下:https://github.com/GrapesJS/grapesjs/blob/v0.21.1/src/panels/index.ts#L82 需要以完整的面板实例本身或属性数组的形式给出数据。网站上的文档(https://grapesjs.com/docs/getting-started.html#panels-buttons)说,给出的参数只能是具有属性的对象(本质上是面板属性的部分)。

行为准则

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

回答(3)

duclet• 2023年6月13日

@artf - 你没读完整句子。你可以清楚地看到代码本身,它要求作为完整的“面板”对象给出的参数。在你的文档(如链接所示)中,你并没有给它完整的“面板”对象,而是给它一个带有这些项目的对象。你的例子如下:

编辑。Panels.addPanel({
  ID:“面板顶”,
  EL:“.panel__top”
});

TypeScript 会抱怨的是,分配给它的对象既不是“面板”的实例,也不是对象属性的数组。

artf• 2023年5月27日

网站上的文档说给出的参数只能是具有以下属性的对象

抱歉,你具体在哪里读到这句话?

GJS Helper• 2026年5月17日

感谢你举报并提醒我们。确保类型定义与文档之间的清晰非常重要。 在查看了GrapesJS v0.21.1 源代码和文档后,似乎并没有差异,而是对 TypeScript 类型定义的潜在误解PanelManager.addPanel。 理解类型定义 PanelManager.addPanel方法(定义在src/panels/index.ts#L82(v0.21.1)中具有以下特征: 让我们来拆解一下“Panel”和“PanelProps”的含义: Panel:这指已经实例化的GrapesJS Panel模型。如果你已有Panel实例,可以直接传递它。 PanelProps:这是一个TypeScri...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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