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

问题 #553💬 已回答提出于 2017年11月21日作者 baxxos2 个反应

向现有组件添加新组件

快速解答作者 ryandeba❤ 1

很遗憾,我不知道有没有简单的方法可以在不递归遍历它们的情况下获得某个组件对象,但听起来这是个好主意! 你可能可以这样做,收集所有组件,然后筛选出你想要的(这段代码还没完全测试过,但希望能帮你找到正确的起点): function getAllComponents(component) { 组件 = 组件 ||编辑。DomComponents.getWrapper(); VAR components = component.get(“components”).models; component.get(“components”).forEach(function(component) { components = components...

阅读下方完整回答 ↓

问题

你好,

我想问一下,是否有任何现有的支持或 API,可以将新组件添加到现有组件列表中(例如在获取或动态生成组件后)。我说的是类似这样的情况:

editor.addComponent({
  家长:“parent_id”,
  组件:“<p>新子组件</p>”
})

我研究过文档,最接近的是“addComponents()”''函数。遗憾的是,该函数没有指定新组件应放置的目标。

我之所以问这个,是因为我的目的是实时协作地使用 GrapesJS,每次用户操作后往返发送整个 HTML 表示实在太慢了。

此致敬礼, 米哈尔

回答(3)

ryandeba• 2017年11月22日

很遗憾,我不知道有没有简单的方法可以在不递归遍历它们的情况下获得某个组件对象,但听起来这是个好主意! 你可能可以这样做,收集所有组件,然后筛选出你想要的(这段代码还没完全测试过,但希望能帮你找到正确的起点): function getAllComponents(component) { 组件 = 组件 ||编辑。DomComponents.getWrapper(); VAR components = component.get(“components”).models; component.get(“components”).forEach(function(component) { com...

baxxos• 2017年11月27日

感谢大家的回复,我觉得我的问题已经得到解答,没什么好补充的了。我现在要结束这个了,不过“find()”方法会是这个很棒框架中一个受欢迎的补充。

相关问答

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

问题 #2008

添加大量自定义HTML后,画布会变暗且无法修改。

我以前用“editor.addComponent()”添加自定义html。 大多数时候它运行良好,但当我尝试插入一个包含大量子元素的大型 HTML 时,画布会变黑且无法修改。我只能重新加载整个编辑器才能让它重新工作。

3 个回答更新于 2020年5月21日

问题 #1836

如何在所有生成的API中添加!重要性

你好,@artf, 虽然我打算用 CSS 从 Editor 编辑一些 HTML,但我需要在所有 CSS 里添加“!important”,这会被更改。 让我举个例子, 这是之前的CSS 现在我要用“#000”来更改这个字体的颜色。 只有这个更改后的 CSS 需要附加 '!impo...

3 个回答更新于 2020年3月10日

问题 #371

启用默认的RTE并自定义函数

正确调用我的 API,想添加一个带有自定义功能以添加链接/打开新窗口/打开模态的 RTE: 命令可以控制fontSize,但下拉菜单没有对齐,显示的是选项值 该命令在 insertHTML 上无法使用。 功能无法工作(意图/非功能) ![grapes](https://user...

3 个回答更新于 2019年9月18日

问题 #816

通过编辑器 API 添加图像块

你好@artf, 当我在画布内拖放图像块时,它会触发执行“openModal”方法的图像块的“active”事件。显示上传图片的模态。 我正在尝试运行 'editor.addComponents({ type: 'image' });',并显示上传图片的模态。 我没找到任何提供...

3 个回答更新于 2019年9月18日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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