在保存后,在 HTML 内容中插入文本并不会更新。
你好@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)
你好@jvillena。你介意分享一些你的代码吗?我也在尝试做同样的事,但就是搞不明白。我不断添加<span>标签作为“占位符”来插入变量值,但它们总是被添加到字符串的前面,而不是在光标位置。否则如果换个方法,光标就会不断把文字加到span标签里,而不是后面。 简而言之,我搞不清楚如何在光标位置插入文本。@artf 你说得对,我更新了只在所选组件事件变化时触发的代码,之后一切正常。 我不明白你是怎么在组件选择中把事件变更时触发的?问题在于保存HTML内容时,更改内容没有反映在内容上。 我也有同样的问题。 这是我尝试的方法: “'' //选项1:为富文本编辑器添加占位符/合并字段选项 rte....
我刚刚解决了。我必须在应用更改后渲染主控组件。解决方案是:
首先我们将新文本应用于选择中
editor.getSelected().set('content', value.trim());
要更新 HTML DOM,我们需要使用 render 函数。
editorRTE.DomComponents.render();
不,用这个“editorRTE.DomComponents.render()”触发所有组件的渲染,请仔细阅读关于[Components](https://grapesjs.com/docs/modules/Components.html),看看像“editorRTE.getSelected().view.$el[0].innerHTML = value' 我觉得你没理解组件的实际工作原理
相关问答
通过相似的问题讨论继续研究。
问题 #1309
我如何将动态文本保存为组件视图的持久化?
我试图在HTML的组件视图中插入动态文本,但保存时HTML里没有我做的更改。我会尝试以下几种方法: 用上面的代码,我可以把文本注入在插入点位置(光标位置),但当我保存内容时,我会收到 value.trim() 与当前文本的 DomDocument 关联。 http://reco...
问题 #486
自定义组件不可编辑,而且特性更新后画布也不会更新
下面是我用于特质和自定义部分的代码,但通过块添加组件后,无法编辑文本或特质更新无法更新画布。我有扩展的“文本”,而且用editor.html()时也拿不到html,点击图片时也不会打开资产管理器。我肯定是遗漏了什么。 “''js var defaultType = comps....
问题 #1733
如何移除由添加块管理器脚本添加的脚本标签
你好@artf 我想导出最终/基于制作的HTML内容,但不包括脚本(只导出由块管理器添加的脚本)。 假设我用block-manager添加一个新块,比如 现在当我把这个块放进编辑器时,它会在文档里创建一个 div 标签,同时还会生成类似的脚本, 所以,当我尝试用“editor....
问题 #1753
StyleManager - SectorsView - addToCollection() 使用“name”属性构建 ID,但因多个空格或特殊字符而失败
你好@artf, 利用grapesjs.init()方法中的pluginOpts属性,我通过Newsletter插件自定义了样式管理器中显示的扇区,如下: “''js Grapesjs.init({ [...] 插件:['gjs-plugin-ckeditor', 'gjs-b...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。