问题 #2303💬 已回答提出于 2019年10月2日作者 megarg2 个反应

更新为新的自定义组件的HTML格式

快速解答作者 megarg1

我通过以下方法解决了这个问题 toHTML: 函数 () { 令el = '<script> console.log(“此处添加文字”)</script>'; el = defaultType.model.prototype.toHTML.apply(this) + el; 返回EL; }, 非常感谢你的支持

阅读下方完整回答 ↓

问题

我想更改 toHTML 的输出方式。我想修改现有的HTML输出。

我尝试了component的“toHTML”属性

  • 允许返回新的HTML元素
  • 但它不允许获取已有的 HTML,然后再更新并返回

我尝试在 toHTML 内部调用 toHTML,想要访问原始组件 html,但正如预期,它陷入了无限循环。

有没有办法访问现有的toHTML,这样我就能修改它,然后以新的“toHTML:”返回。编辑器或导出会使用新的输出。

回答(3)

megarg2019年10月3日

我通过以下方法解决了这个问题 toHTML: 函数 () { 令el = '<script> console.log(“此处添加文字”)</script>'; el = defaultType.model.prototype.toHTML.apply(this) + el; 返回EL; },

非常感谢你的支持

scott-coates2019年11月12日

要获得“defaultType”,请执行以下操作:'var defaultType = editor.DomComponents.getType('default');'

这也适用:

“JavaScript var prototype = Object.getPrototypeOf(this); var el = prototype.proto.toHTML.call(this); 返回EL;

pouyamiralayi2019年10月2日

嗨!你试过在“toHTML”里用“component.view.el”吗?它会让你访问当前的“DOM”。 干杯!

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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