问题 #955💬 已回答提出于 2018年3月15日作者 alexroosenstein1 个反应

:在iframe/可视化编辑器中查找与HTML元素相关的组件。

快速解答作者 artf1

你可以查询包装器获取组件模型,比如 “''js const component = 编辑器。DomComponents.getWrapper().find('#somid')[0]; component.components('<div>Add some content inside</div>'); ``` 顺便说一句,为什么你说“我可以在可视化编辑器(iframe内)更改文本”时,内容却没有更新,这并不清楚。

阅读下方完整回答 ↓

问题

嗨!

我正在做一个 GrapesJS 的实现,可以把 GrapesJS 外部的一段文本拖拽到已有的文本元素/组件中。我没有用GrapesJS的拖放功能,而是用浏览器原生的拖放功能。

我有一些代码,可以拖放,而且可以在可视化编辑器里(在iframe内)更改文本。但这并不改变文档的实际内容,因为它们是在后台处理/存储的(分成组件,对吗?)。

现在我在找一种方法找到与HTML元素关联的组件,这样我就能把文本推送到那个组件里。

希望你能清楚!我试着查找相关问题,发现很多关于更新组件内容的,但没有一个关于如何真正让我想更新的组件的好线索......

回答(3)

artf2018年3月17日

你可以查询包装器获取组件模型,比如 “''js const component = 编辑器。DomComponents.getWrapper().find('#somid')[0]; component.components('<div>Add some content inside</div>');

顺便说一句,为什么你说“我可以在可视化编辑器(iframe内)更改文本”时,内容却没有更新,这并不清楚。
alexroosenstein2018年3月17日

谢谢!我明天试试。

顺便说一下,我通过 JQuery 用 text() 函数更新文本,但当我把元素移到另一个位置时,原始文本又重新出现了。

japo322019年9月3日

我也遇到过用拖放移动组件的问题。我的解决方案是在自定义组件里添加一个文本组件。:)

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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