自定义组件默认子节点
@simplecommerce一个带有默认子节点的自定义组件工作示例(它使用本地存储) https://jsfiddle.net/t5yw48cs/ 试着检查一下你存储/加载模板的方式,也许问题就在这里 https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates
阅读下方完整回答 ↓问题
你好, 我正在尝试理解如何实现以下目标。创建一个带有默认内容的组件作为子节点。创建一个方块,将该组件添加到画布中。将组件子编辑为其他内容并保存HTML结果。稍后在编辑器中重新加载组件并继续编辑。 我的问题如下:我尝试过在默认情况下使用“components”和“content”。我尝试在组件视图的“init”函数中定义一些自定义逻辑,只有在没有组件存在时才添加默认值。 这两种方法都不起作用,起初有效,但如果我编辑文本,保存值,抓取HTML并重新导入,或者用编辑器的“组件”选项重新加载到画布中,默认值会随编辑内容一起插入(作为子节点)。 我不明白为什么。我还注意到,这种逻辑只适用于实际组件,不适用于文本节点,因为 comps.length 不会将文本节点检测为子节点。 我只能通过以下操作解决了这个问题: 组件长这样: 但我认为这可能不是最好的做法。 我想知道有没有人有什么建议,或者能告诉我他们是怎么做到的? 谢谢!
回答(2)
@simplecommerce一个带有默认子节点的自定义组件工作示例(它使用本地存储) https://jsfiddle.net/t5yw48cs/
试着检查一下你存储/加载模板的方式,也许问题就在这里 https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
相关问答
通过相似的问题讨论继续研究。
问题 #1817
在编辑器渲染块时更改 HTML 内容
你好@artf 我有一个区块进入了区块管理器 和上面的脚本一样,我希望在该块渲染到界面的同时添加动态HTML内容。 我知道我不需要改变DOM。但我需要用模型来更改,但我不知道怎么用 ID/类别的模式来更改。 你能帮我吗?我该怎么实现?
问题 #828
组件的“添加”事件触发次数不同
你好, 我注意到如果我在自定义组件中添加以下代码,事件触发方式会根据是从块拖放还是从画布拖放的新子组件而不同。 “JavaScript ... view: defaultView.extend({ init() { this.listenTo(this.model.compon...
问题 #1959
在自定义按钮中编辑 innerHTML
大家好, 我正在尝试更改按钮组件中的文本,但无法编辑它。我添加了这个类型: 我添加了可编辑的真实参数,但不起作用 然后把按钮添加到组件管理器里 有什么办法可以绕过这个问题吗? 谢谢!
问题 #1696
特质首次出现在自定义组件的拖拽中
你好,artf,我创建了自定义组件并为它添加了特征,当拖动这个组件到编辑器并选择它时,设置特征是正常工作的。 问题是,当将同一个组件拖到旧组件后面到编辑器并选择设置特征时,默认特征(ID,标题)会只显示,这是我实现的代码 对于创建组件: this.editor.BlockMan...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。