GrapesJS 问题

已收录 3,464 个 GitHub 问题 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。

找到 1,399 个问题

🔍 outdated
#18762019年3月10日作者 VardanNersesyan2 个回答
0 个反应

导出为pdf

大家好, 1)编辑HTML页面后,我可以用这个框架生成PDF文件吗?我该怎么做? 2)我能否制作现成模板,并通过框架供用户编辑?我该怎么做? 谢谢。

artf

编辑HTML页面后,我可以用这个框架生成PDF文件吗?我该怎么做? 没有内置命令可以自动生成PDF,但你可以获取模板的HTML代码并生成PDF。我可以制作现成模板,并通过框架供用户编辑吗?我该怎么做? 当然,我建议你先从[入门](https://grapesjs.com/docs/getting-started.html)开始阅读,然后查看[存储管理器](https://grapesjs.com/docs/modules/Storage.html)

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18752019年3月10日作者 simplecommerce3 个回答
1 个反应

导入HTML或在配置中传递Components prop中的HTML时,ID会改变。

你好, 我做了一个组件和块,可以在画布里拖拽。 我的问题是有些风格依赖于ID。 我知道这可能不是最理想的,但目前就是这样。 我的问题是,当我在组件属性中用之前的数值重新加载编辑器时,所有的ID都被更改了。 有什么办法可以防止这种情况吗? 比如说,只更改新添加的区块的ID,而不更改导入的代码或已有代码? 我试着搜索,但没看到选项。 谢谢!

artf

@simplecommerce新发布

simplecommerce

有人知道这个问题的原因吗? 我的问题是比如用引导标签页时,为了让它们正常工作并加载正确的标签页,它会用ID,但因为我重新加载编辑器和组件(用于编辑)时ID会被重新生成,标签页就不再工作了,因为所有ID都被替换和递增了。 初始拖拽。 重新装填 如你所见,我的身份已经改变。

sbiwaichoon

我这里也有同样的问题。如果我在代码中使用了那个ID,我会把When(id-2)reload template改成Grapejs(自动在我的ID上添加“-2”), 如果我在代码的任何部分都不使用那个ID,也没关系,ID不会改变

#18732019年3月9日作者 alialrabi2 个回答
1 个反应

网格组件调整大小 其单元宽度不工作

你好,artf, 我有个问题:当我实现包含行和三个单元格的网格组件时,我想让这些单元格在宽度和高度上可重叠,所以我在组件选择时设置一个事件,设置可调整大小=true, 调整细胞高度时可以正常调整,但细胞宽度没有变化,调整大小时,我该如何让细胞可调整大小。 这是我的代码: BlockManager.add('my-grid', { 标签:“Grid”, 分类:“基础”, 内容:'<div title= “grid” class=“row” style=“height:50px; border-width:0px”><div class=“cell”></div><div class=“cell”></div><div class=“...

artf

这是因为网格使用了柔性,所以宽度应该用“弹性基准”来表示。在这种情况下,'resizable'应该是这样的对象 '{ keyWidth: 'flex-basis' }'

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18722019年3月9日作者 kickbk2 个回答
0 个反应

在文本组件内多次点击回车

当文本区域超出某个点时,情况就变得异常。我不太确定怎么描述,所以我附上了屏幕录制。 要重现,进入 https://grapesjs.com/demo-newsletter-editor.html,输入靠近视口底部的文本组件,进入文本末尾,继续点击回车。到了某个阶段,它开始高亮其他组件,表现得很奇怪。 我只是按回车。别无他物。鼠标没有移动。 ![葡萄进来](https://user-images.githubusercontent.com/31323376/54064879-be667e80-41cd-11e9-8790-eed20c0e453f.gif)

artf

CKEditor bug(默认的 RTE 是可以的),很可能与元素在 iframe 中有关(不幸的是,很多文本编辑器因为忽略了这一点而失败)。某个时候它开始突出其他组件,表现得很疯狂。 我只是按回车。别无他物。鼠标没有移动。 只是因为鼠标位置导致组件悬停(其实也不算太夸张😂)

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18702019年3月8日作者 fmr4112 个回答
0 个反应

在标签 i 中设置 data-gjs-type (Why iscomponent not working)

当我添加 block(tag i)时,data-gjs 类型是“I”(我创建的特征没有问题) ![screenshot5](https://user-images.githubusercontent.com/15244481/54005438-05338480-418c-11e9-89a6-639fcdcce03d.png) 我有特质 ![screenshot7](https://user-images.githubusercontent.com/15244481/54005451-0f558300-418c-11e9-9d69-508a4f5f859d.png) 但如果保存并重新加载,data-gjs类型设置为“默认”(特性不起...

artf

你存储/加载错误,请在这里阅读 https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18692019年3月7日作者 Ramkumar-Murugesan3 个回答
0 个反应

如何在输入特征中添加额外字段

你好, 我想在默认输入特征中添加新字段。 例如: 我需要在已有的输入特征中添加{label: binding, name:binding} ![图片](https://user-images.githubusercontent.com/33427536/53938957-cba14180-40d7-11e9-9342-1fab368f9c44.png) 如上图所示。我需要在 name 和占位符之间添加一个新字段。 有人能帮帮我吗? 提前感谢大家

arthuralmeidap

文档里会详细说明你要找什么。 请看这里:https://grapesjs.com/docs/modules/Traits.html#add-traits-to-components

Ramkumar-Murugesan

我是通过使用 而且运行正常

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18682019年3月7日作者 sakshigarg93 个回答
1 个反应

如何只为特定的图像组件启用功能,而不是全部

我已经在图片组件中启用了FA的fa-pencil图标,但我只希望它在特定图片组件中启用,而不是所有组件。我该如何实现这一点? 这是我的代码

arthuralmeidap

你走在正确的道路上。是的,你需要为此创建一个新组件,但你无法覆盖图像组件类型,否则你看到的所有图片都会被覆盖。 这些照片有什么独特之处?你如何区分普通图像和特定图像?这个逻辑你需要加到你的“isComponent”fn里。 提示:可以从现有的Image组件类型扩展你的新组件类型。

sakshigarg9

我试过这个方法,并且从我希望应用该功能的 img 标签中移除了 gjs-data-type=“image”。但它既没有实现这些功能,还会干扰组件的其他属性。

artf

@sakshigarg9为了防止混乱,使用新的 ['addType'](https://grapesjs.com/docs/modules/Components.html#improvement-over-addtype)(你会漏掉 'view' 属性,这会破坏旧声明中的某些内容) 顺便说一句,我建议通过扩展“图片”来创建一个*新组件类型,而不是仅仅扩展当前的图片(这样你就是编辑所有图片)。

#18672019年3月6日作者 arthuralmeidap2 个回答
0 个反应

自定义成分和JS

你好@artf, 我正在尝试创建一个自定义组件并附加一个 JS。举个更好的例子,把这个组件看作幻灯片组件。对于这个组件,我有一些自定义特征,允许用户更改一些预定义的配置。 问题是当我通过“脚本”键连接 J 字时,同时添加块。 我的新自定义组件没有调用“isComponent”方法。 调试代码时,我发现解析组件时会有验证功能,用来检查内容是字符串还是数组。当组件附加 Js 时,内容将是一个对象。 看看PR #1866,告诉我你的看法

artf

问题出现在我通过脚本键附加 J 字时,同时添加块。 我的新自定义组件没有调用isComponent方法。 你好,Arthur,你能举个例子说明你的情况吗?因为我不太明白问题出在哪里。 看了你的PR,我不明白你为什么要解析“content”属性,而这个属性是编辑用来处理静态内容(比如RTE编辑的内容),所以不应该被解析 “''js editor.addComponents({ 类型:“文本”, 内容:“<i>RTE的一些</i><b>静态内容</b>”, }); ```

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18652019年3月6日作者 Gianglo2 个回答
0 个反应

:葡萄换页

你好, 我在HTML页面中使用葡萄时发现了以下问题: 当你点击编辑器中的某些元素,比如在标签管理器中移动元素的箭头时,整个页面都会向上移动。 问题也出现在你的JSFiddle入门模板 https://jsfiddle.net/szLp8h4n。 ![bug_grapes](https://user-images.githubusercontent.com/25904038/53885056-20cc4d00-401d-11e9-98fc-035e4c7032a5.gif)

artf

好的,我们使用 [scrollIntoView](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView) API 来在画布中居中元素(在图层中选择组件时)和图层(在 Canvas 中选择组件时),但似乎这会浮现到主窗口。看了看 https://stackoverflow.com/a/52835382 这个配置似乎解决了问题 “''js const editor = Grapesjs.i...

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#18642019年3月6日作者 simplecommerce3 个回答
3 个反应

听最终HTML变更的最佳方式是什么?

你好, 我只是有个小问题,因为我不知道怎么做,或者没找到相关的问题。 我只是想在画布上做任何更改时调用一个函数。 比如,我要添加或移除一个方块。 我正在用样式管理器更改属性。 或者拖放画布中的方块。 甚至更新特质。 有没有一个全局事件可以让它触发我的函数? 我说的不是画布本身的实际变化,而是调用方法编辑器.getHtml()时,应用到最终HTML的改动。 任何帮助或指导都非常感谢,谢谢! 更新: 目前我发现可以用存储管理器来实现这个功能,方法如下: 如果有更简单的解决方案,不用用这种方式,我很乐意听取建议。 谢谢!

a-bashtannik

@simplecommerce,也可以试试这个,可能更适合你 “JavaScript editor.on('change:changesCount', e => { 变身! }); ```

arthuralmeidap

我认为你这样做是最简单的实现方式。

arthuralmeidap

你想在最后达到什么目标? 你可以用类似“editor.on('all', () => //your code here );' 之类的,但这根本不实用。GrapesJS 触发了许多事件,我觉得这可能不适合你的需求。

浏览所有主题