GrapesJS 问题

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

找到 3,464 个问题

#30562020年9月30日作者 micker3 个回答
2 个反应

FEAT:响应式设计选项

你好,我不确定它是否已经实现,但我没找到具体的实现。 => 用 Grap 我们可以更改显示为“检查响应”选项,但不能更改特定设备的选项? 比如在智能手机上更改区块大小 例如: ![图片](https://user-images.githubusercontent.com/2539440/94736976-5eb26400-036d-11eb-9900-a7f083e6020b.png) 你怎么看这件事?

MartinPutz

@micker 如果我理解没错,那这个功能已经实现了,当你在某台设备上更改组件样式时,会使用媒体查询。 你可以在演示页面看到:https://grapesjs.com/demo.html 你可以把设备改成移动端,调整某个东西的宽度,然后回到桌面。该更改仅适用于移动设备。你可以点击顶部的查看代码图标,向下滚动到底部,你会看到媒体查询。

micker

啊,太好了

theSC0RP

@MartinPutz我已经实现了入门指南中展示的响应式功能,但当我点击移动端图标时,布局只是被压缩了。(两列布局不变为两行。只有宽度被缩小了)如果你参与过响应式设计,能否帮帮我?

#30552020年9月30日作者 ghost1 个回答
0 个反应

专长:默认合并所有类别

如何默认收合并所有类别? 我尝试了[#446](https://github.com/artf/grapesjs/issues/446)和[#316](https://github.com/artf/grapesjs/issues/318)中描述的方法 它们已经不管用了。

artf

这次的效果如预期 “编辑。BlockManager.getCategories().forEach(c => c.set('open', false)'

#30532020年9月30日作者 anushabivera3 个回答
5 个反应

允许用户动态添加全局样式表到 Canvas

你好, 我想让用户能够将自定义样式表加载到画布上。这样用户可以将自定义定义的样式作为类应用到控件上,而不是内联样式,同时通过基于 grapesjs 的编辑器工具生成 html 模板,保持各用户之间的一致性。 Grapesjs 已经支持动态加载样式表了吗?任何关于这个问题的指导都会对我有很大帮助。 谢谢你, 阿努莎

RJCAM

你好@anushabivera如果你想在 init 时加载样式表(本地和带 cdn),你可以在编辑器的 init 函数中简单地把 css/js 链接添加到 canvas 属性里,就像这样: 如果你想动态添加它们,可以试试这个(比如用Materialize举例): 顺便说一句: 这个问题已经有人问过了,如果你有疑问,可以在下面了解更多信息(主要是66和1739): #66 #195 #444 #473 #966 #1739

theSC0RP

我明白了!我用链接标签上的ID来移除了它。

anushabivera

谢谢你@RJCAM。我的计划是将该功能作为画布的属性提供,用户可以输入自定义样式表的网址作为属性的值

#30522020年9月30日作者 MudassarSandhu2 个回答
0 个反应

BUG:隐藏/显示特征并动态改变其数值

我扩展了链接组件,并添加了新的特性,比如 href。为了展示或隐藏这个特征,我遵循了这个#https://github.com/artf/grapesjs/issues/1460。 但如何基于另一个特征变化值再次显示这些隐藏特征呢?目前我所做的是 但它并没有反映组件设置的变化。我们能不能动态改变特质的样式,比如隐藏/显示?我们能把select-type的特征值分配给path-name特征值吗?还是我需要实现自定义类型?

artf

你调用了特征 'name: 'select-type',但你听的是 'change:selectType',所以可以通过更改 'change:select-type' 中的监听器来修正不要依赖特征值 'this.getTrait('select-type').props().value',而依赖组件本身 'this.get('select-type')'目前你不能以这种方式更新特征属性,但你可以这样做:'getTrait('ID').view.el.style.displa...

chaegumi

getTrait('ID').view 未定义。

#30512020年9月29日作者 ashercoren1 个回答
0 个反应

BUG:构建测试失败

版本: 开发分支(预发布) 预期的行为是什么? 运行“npm测试”或“npm运行构建”时,测试应能成功完成。 目前的行为是什么? 我尝试构建仓库的生产版本,但“npm test”因多个错误都失败。 我追溯了提交,导致测试失效的提交是[这个提交](https://github.com/artf/grapesjs/commit/68403f86077bff635c6749635a776429077715ad)

artf

谢谢@ashercoren我已经看到并本地修复了,但还没更新远程分支,因为我发现Travis还有另一个问题需要修复。顺便说一句,我很快会更新

#30502020年9月29日作者 Abhisheknanda13444632 个回答
1 个反应

地图未加载全宽

你好@artf, 当我在画布上放置一个“地图”,然后点击新标签页的预览时,那是我的自定义预览。在预览的新标签页中,“地图”不会加载全宽。 你能帮我解答一下吗?

MartinPutz

@Abhisheknanda1344463 我用演示编辑器检查了一下,似乎运行正常。 你能不能为你的问题做个JFIDLE?

artf

我猜可能是你的预览出了问题,至少提供一个实时示例,我先结束这个问题

#30492020年9月28日作者 lebonsavane2 个回答
2 个反应

自动分页

你好, 我如何在GrapeJs上实现自动PageBreak?比如我想要每500像素就有一个pageBreak。我该怎么做? 真诚地 谢谢你的回答 @artf

MartinPutz

@lebonsavane 据我所知,目前没有相关功能可以做到这一点。 我会创建一个名为“Page”的自定义组件,将“removable”设为false,编辑器加载后添加这个组件。所以总会有至少一页。你可以将这个自定义组件的高度指定为样式参数。 然后,你需要自定义逻辑来确定何时添加新页面。 我认为内容超过“高度限制”只有两种方式。 1.当前内容增加 例如,当文本组件的内容长度增加时。 2.新增内容 显然,当你在某个页面中插入一个新组件时,如果当前高度 + 新组件的高度大于页面...

artf

这个东西可能有助于逻辑 http://marcj.github.io/css-element-queries/(通过在包装上装上ResizeSensor)

#30482020年9月25日作者 ealipio2 个回答
0 个反应

: 类型错误:无法读取未定义属性的“get”

版本: 0.16.22你能复现演示中的bug吗? [x] 是的 [ ] 不预期的行为是什么? 控制台没有错误。详细描述那个漏洞 涉及的文件包括: https://github.com/artf/grapesjs/blob/6296bf8c970f700aa69e44728b7db80833452f69/src/dom_components/view/ComponentTextView.js#L61

artf

奇怪(没有模型视图组件就不存在),你能提供具体步骤来重现这个问题吗?

no-response[bot]

由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。

#30472020年9月24日作者 BCleverly3 个回答
4 个反应

BUG:无法通过选择工具栏移除Strike

当前版本:0.16.22 你能重现演示中的bug吗? [x] 是的 [ ] 不 预期的行为是什么? 可以通过选择中的小工具栏应用和移除划线样式,并通过同样的流程移除 目前的行为是什么? 你可以通过小工具栏顶部应用样式,但一旦应用完成就无法移除样式。 如果你通过样式管理器完成这些操作,它会按预期工作,因为它通过CSS应用,而不是用HTML元素包裹。

Ju99ernaut

这是由于该更改#2886,作为临时修复,您可以使用: “''js const rte = 编辑。RichTextEditor; rte.add('clearFormatting', { 图标:“<I class=”fa fa-eraser“></i>', 属性:{ 标题:“清晰格式化” }, 结果: rte => rte.exec('removeFormat') }); ``` 这会增加一个按钮,可以移除所有格式化标签。

artf

下次版本会修复

BCleverly

谢谢@Ju99ernaut——非常感谢:)

#30462020年9月24日作者 jesusdp2 个回答
1 个反应

问题:如何在画布中保留默认部分,而用户无法被移除?

我想生成一个PDF工具,包含三个主要部分:标题、正文和页脚。这三个部分必须始终存在,我想关闭允许用户删除这些部分的功能。其他组件,比如图片、文本、列等等,也需要可以编辑,比如如果用户想删除它们。 <img width=“1888” alt=“Captura de Pantalla 2020-09-24 a la(s) 8 01 30 a m” src=“https://user-images.githubusercontent.com/10049157/94148536-5a052180-fe3c-11ea-90af-f94d2a395ebb.png”>

MartinPutz

默认情况下所有组件都是可拆卸的,所以这部分已经涵盖了。关于不允许移除某些组件,你可以看看组件api:https://grapesjs.com/docs/api/component.html#component 你需要为你的三个容器设置“removable”:false。 “''js 编辑。DomComponents.addType('Header', { 型号:{ 默认值:{ 标签名称:“div”, 组件无法拆卸 可移除:错误 } }, 浏览量:{ 标签名称:“div”,...

jesusdp

默认情况下所有组件都是可拆卸的,所以这部分已经涵盖了。关于不允许移除某些组件,你可以看看组件api:https://grapesjs.com/docs/api/component.html#component你需要为你的三个容器设置“removable”:false。“''js编辑。DomComponents.addType('Header', {模型:{默认:{标签名称:“div”,// 组件无法拆卸可移除:false } },视图:{标签名称:“div”,onRende...

浏览所有主题