问题 #1306💬 已回答提出于 2018年7月23日作者 jvillena1 个反应

在保存后,在 HTML 内容中插入文本并不会更新。

快速解答作者 BlazedCode1

你好@jvillena。你介意分享一些你的代码吗?我也在尝试做同样的事,但就是搞不明白。我不断添加<span>标签作为“占位符”来插入变量值,但它们总是被添加到字符串的前面,而不是在光标位置。否则如果换个方法,光标就会不断把文字加到span标签里,而不是后面。 简而言之,我搞不清楚如何在光标位置插入文本。@artf 你说得对,我更新了只在所选组件事件变化时触发的代码,之后一切正常。 我不明白你是怎么在组件选择中把事件变更时触发的?问题在于保存HTML内容时,更改内容没有反映在内容上。 我也有同样的问题。 这是我尝试的方法: “'' //选项1:为富文本编辑器添加占位符/合并字段选项 rte.add('mergefield', {...

阅读下方完整回答 ↓

问题

你好@artf, 我在保存HTML内容的过程中遇到了一些陷阱。现在我们有一个弹出的模态对话框,我可以选择一些特殊文本,并在选中的元素中注入画布。问题是保存HTML内容时,更改不会反映在内容上。它喜欢我必须刷新或更新模型,但我不知道怎么更新。 注: 只有在多次插入后才保存数据。但最新添加的变更没有被保存。 http://recordit.co/Mx1wggkdJT ` var text = editorRTE.getSelected().view.$el[0].innerHTML; String.prototype.splice = function(idx, rem, str) { 返回 this.slice(0, idx) + str + this.slice(idx + Math.abs(rem)); }; value = text.splice(caret, 0, value); editorRTE.getSelected().view.$el[0].innerHTML = value; editorRTE.getSelected().view.$el[0].focus();' 你能帮帮我吗?

回答(3)

BlazedCode2018年12月11日

你好@jvillena。你介意分享一些你的代码吗?我也在尝试做同样的事,但就是搞不明白。我不断添加<span>标签作为“占位符”来插入变量值,但它们总是被添加到字符串的前面,而不是在光标位置。否则如果换个方法,光标就会不断把文字加到span标签里,而不是后面。 简而言之,我搞不清楚如何在光标位置插入文本。@artf 你说得对,我更新了只在所选组件事件变化时触发的代码,之后一切正常。 我不明白你是怎么在组件选择中把事件变更时触发的?问题在于保存HTML内容时,更改内容没有反映在内容上。 我也有同样的问题。 这是我尝试的方法: “'' //选项1:为富文本编辑器添加占位符/合并字段选项 rte....

jvillena2018年7月24日

我刚刚解决了。我必须在应用更改后渲染主控组件。解决方案是:

             首先我们将新文本应用于选择中
              editor.getSelected().set('content', value.trim());
             要更新 HTML DOM,我们需要使用 render 函数。
              editorRTE.DomComponents.render();

相关问答

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

问题 #1309

我如何将动态文本保存为组件视图的持久化?

我试图在HTML的组件视图中插入动态文本,但保存时HTML里没有我做的更改。我会尝试以下几种方法: 用上面的代码,我可以把文本注入在插入点位置(光标位置),但当我保存内容时,我会收到 value.trim() 与当前文本的 DomDocument 关联。 http://reco...

2 个回答更新于 2019年9月17日

问题 #486

自定义组件不可编辑,而且特性更新后画布也不会更新

下面是我用于特质和自定义部分的代码,但通过块添加组件后,无法编辑文本或特质更新无法更新画布。我有扩展的“文本”,而且用editor.html()时也拿不到html,点击图片时也不会打开资产管理器。我肯定是遗漏了什么。 “''js var defaultType = comps....

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

问题 #1733

如何移除由添加块管理器脚本添加的脚本标签

你好@artf 我想导出最终/基于制作的HTML内容,但不包括脚本(只导出由块管理器添加的脚本)。 假设我用block-manager添加一个新块,比如 现在当我把这个块放进编辑器时,它会在文档里创建一个 div 标签,同时还会生成类似的脚本, 所以,当我尝试用“editor....

3 个回答更新于 2020年2月4日

问题 #1753

StyleManager - SectorsView - addToCollection() 使用“name”属性构建 ID,但因多个空格或特殊字符而失败

你好@artf, 利用grapesjs.init()方法中的pluginOpts属性,我通过Newsletter插件自定义了样式管理器中显示的扇区,如下: “''js Grapesjs.init({ [...] 插件:['gjs-plugin-ckeditor', 'gjs-b...

3 个回答更新于 2020年1月27日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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