GrapesJS 问题

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

找到 545 个问题

🔍 typescript
#33072021年3月3日作者 neon123454 个回答
3 个反应

成就:提供一个未被压缩的版本

有没有被压缩的 Grapesjs 单文件版本? 如果能有个专门的,方便修复漏洞和快速测试新功能/改进,那就太好了。

neon12345

令人失望的是,这个网站刚刚关闭了。当然我可以改变工作流程,但为什么不让大家参与得尽可能舒适呢?

stljeff1

有人能详细解释一下怎么用源地图吗?我在升级到最新的Grapes版本时遇到了非常困难,需要任何能帮忙调试的帮助。 我正在将 grapesjs 导入到 Angular/Typescript 应用中。如果我不包含压缩文件本身,我不明白怎么利用源地图。

Ju99ernaut

这个已经有了,只要用“grapesjs.js”代替“grapesjs.min.js”

#33052021年3月3日作者 RaresVlaiduc3 个回答
11 个反应

(v0.16.41) 点击时按钮未被设置为激活

版本:v0.16.41 你能重现演示中的bug吗? [ ] 是的 [x] 不 预期的行为是什么? 当我点击按钮时,应该会添加 gjs-pn-active 类。 详细描述那个漏洞 我有三个按钮分别对应三台不同的设备(台式机、平板和手机)。 我把它们放在顶部面板上,点击时画布大小会变,但点击的按钮没有被设置为激活。 你能附上截图、截屏或实时演示吗?** [x] 是的(附上) [ ] 不 ![图片](https://user-images.githubusercontent.com/73160095/109790439-164bea80-7c1a-11eb-9aeb-98954166afa2.png) ![图片](https://use...

Ju99ernaut

Grapesjs要求你的命令有“运行”和“停止”功能,才能自动切换面板按钮,所以这可能是问题所在: “''js const cm = 编辑。指挥; Grapesjs 无法在此命令格式下切换面板按钮 cm.add('desktop', e => e.setDevice('Desktop')) Grapesjs 能因为运行和停止而切换面板按钮 cm.add('desktop', { run(e) { e.setDevice('Desktop') }, stop() {} });...

kerryj89

@Ju99ernaut 谢谢你。 现在通过 'grapesjs.init()' 创建 'devices-c' 面板时,active 状态对我来说是正常的。

ClaudeCode

谢谢你举报,@RaresVlaiduc。 (v0.16.41) 按钮点击时未被设置为激活的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助...

#33012021年3月2日作者 mmotov2 个回答
0 个反应

更改一个复制的元素会影响其他复制的元素

版本:0.16.41 你能重现演示中的bug吗? 是的 预期的行为是什么? 当我复制粘贴元素(例如文本)并做任何修改时,它应该只会更改选中的元素。 目前的行为是什么? 目前,所有复制元素都进行了更改 你能附上截图、截屏或实时演示吗? https://www.loom.com/share/0dcf0cd5e920459fa6879d8154efae76

JamieBunyassi

你是怎么解决的?

ClaudeCode

谢谢你举报,@mmotov。 更改一个复制元素会影响其他复制元素的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因...

#32952021年3月1日作者 marcepoblet4 个回答
0 个反应

BUG(v0.16.41):带有可拖拽属性的按钮组件无法正常工作

版本: v0.16.41 你能重现演示中的bug吗? [ ] 是的 [ ] 不 预期的行为是什么? 当我们有一个属性为 data-gjs-draggable 的 false 按钮时,这个按钮不应在画布中被拖动。 详细描述那个漏洞 步骤将带有可拖拽属性的按钮组件设置为 false将按钮拖入其他组件内拖动按钮 目前的行为是什么? 步骤将带有可拖拽属性的按钮组件设置为 false将按钮拖入其他组件内按钮不应拖动 你能附上截图、截屏或实时演示吗?** [ ] 是的(附上视频) https://user-images.githubusercontent.com/64096863/109490335-da245880-7a66-11eb-81...

artf

我猜你做错了什么,你是怎么创建这些组件及其属性的?你甚至不应该在检查员里看到这些属性。

marcepoblet

@artf 我们的准则中没有做任何更改。唯一的区别是我们更新了GrapesJs的版本。 之前我用的是v0.16.18版本,运行正常,但现在我们把GrapesJs更新到v0.16.41后,按钮功能就不行了。

marcepoblet

我们用以下方式设置属性: editor.getSelected().attributes.attributes[“data-gjs-editable”] = 'false' editor.getSelected().attributes.attributes[“data-gjs-copyable”] = 'false' editor.getSelected().attributes.attributes[“data-gjs-droppable”] = 'false' edi...

#32912021年2月25日作者 marcepoblet4 个回答
4 个反应

BUG(v0.16.41):图标工具栏上的复制图标也在修改原始元素

版本: v0.16.41 你能重现演示中的bug吗? [ ] 是的 预期的行为是什么? 重复的元素不应该影响原元素的变化。 详细描述那个漏洞 步骤:选择元素(文本、图片等)点击工具栏中的复制图标修改新重复的元素原始元素也被修改 https://user-images.githubusercontent.com/64096863/109187944-27f04680-7771-11eb-8ba4-1181ed56b08f.mp4 目前的行为是什么? 当某些元素被复制,且被复制的元素被修改时,原始元素也会被修改。 你能附上截图、截屏或实时演示吗?** [ ] 是的(附上了视频)

artf

谢谢大家的反馈,我知道这个bug,开发版已经修复了。我完全忘了发布它😬,我会尽量今天发布

devtechk

@artf 非常感谢!你帮我省了很多功夫 _ 我整个下午都在调试这个问题......顺便说一句,我查了npm,发现0.16.44版本已经不行了...... 你救了人。非常感谢!捐款,你值得拥有一切!❤️

aadilmehrajbhat

自“”葡萄“以来的回归问题:”0.16.34“'

#32902021年2月25日作者 marcepoblet3 个回答
0 个反应

当我们撤销图片时,changesCount参数应重置为零

版本: v0.16.41 你能重现演示中的bug吗? [ ] 不 预期的行为是什么? 当我们撤销图片时,changesCount参数应重置为零 详细描述那个漏洞 步骤:添加图片删除图片撤销更改 我们应该看到 changesCount 参数应该被重置为零。 目前的行为是什么? changesCount参数是递增的,而不是0。 你能附上截图、截屏或实时演示吗?** [ ] 是的(附上了视频) https://user-images.githubusercontent.com/64096863/109162404-ee124680-7756-11eb-9668-b1909b913831.mp4

GayathriGuru

嗨!@marcepoblet你能分享一下你用来定义 changesCount 变量以实现递增的代码部分吗?

artf

我就结束这段,因为我看不出这个功能有什么实质性的好处

ClaudeCode

谢谢你举报,@marcepoblet。 撤销图像时,changesCount参数应重置为零的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有...

#32882021年2月23日作者 ilsantuzzo2 个回答
0 个反应

编辑克隆时不影响克隆组件

我发现克隆和所有克隆组件都有镜像编辑功能。有没有办法避免这种情况? ![GJS](https://user-images.githubusercontent.com/5839445/108843429-f6457700-75da-11eb-91d7-0e097519ef54.gif)

artf

我今天应该能发布修复😬方案 https://github.com/artf/grapesjs/issues/3291

ClaudeCode

谢谢你举报,@ilsantuzzo。 关于编辑克隆而不影响克隆组件的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件...

#32872021年2月23日作者 RaresVlaiduc4 个回答
1 个反应

包装造型

首先,祝贺@artf完成了这个了不起的项目 💯 我目前正在做一个项目,想问一下是否可以像编辑里面其他组件那样编辑包装器(主体)。 例如,我想像编辑背景色一样编辑包装的填充部分。 ![葡萄提问](https://user-images.githubusercontent.com/73160095/108832886-c72c0700-75d4-11eb-8d74-daa48d8a0440.png) 我看过配置,但没找到有用的信息。 谢谢! LE:我找到了方法。我正在覆盖getWrapper()中的可样式数组,但我不确定这是不是正确的方法。你能确认吗?

artf

是的,@kuhelbeher,现在封装器是在插件后创建的,所以你可以像扩展其他组件一样完全扩展它

artf

LE:我找到了方法。我正在覆盖getWrapper()中的可样式数组,但我不确定这是不是正确的方法。你能确认吗? 是的,当然没问题,但如果需要,可以通过“mainConfig.domComponents.wrapper”选项在init时更改包装器属性 https://github.com/artf/grapesjs/blob/18b2f95b7f844578dc2b28d786b126013d155d9e/src/dom_components/config/config.j...

kuhelbeher

你可以通过“mainConfig.domComponents.wrapper”选项在init时更改包装器属性https://github.com/artf/grapesjs/blob/18b2f95b7f844578dc2b28d786b126013d155d9e/src/dom_components/config/config.js#L9 你好,我注意到这些选项是针对旧版本的 Grapesjs,但在新版本中 domComponents 配置中,封装属性被移除了。有没有办法...

#32842021年2月20日作者 mig84471 个回答
0 个反应

块渲染被调用了两次

https://github.com/artf/grapesjs/blob/b199083f6a6128ecff41d20865493294f71fe0a1/src/block_manager/view/BlocksView.js#L142 这行使得块被重新渲染,因为渲染是在监听“变化”事件,但由于该属性本身不影响块渲染本身,集合应保持静默,如: “''js model.set('category', catModel, {silent: true}); ```

ClaudeCode

谢谢你举报,@mig8447。 感谢你分享关于块渲染被调用了两次的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。GrapesJS团...

#32822021年2月20日作者 ThomasPof2 个回答
0 个反应

CleanId函数无法与MJML代码兼容

即使在最新版本的 grapesjs(0.16.41)上,CleanID 仍然无法支持 MJML 代码。 这和这个已关闭的问题有关:https://github.com/artf/grapesjs/issues/3276 这个函数不会读取MJML标签:“attrs”是空的,我找不到原因......

artf

id 问题应该已经在最新的 mjml 插件版本中解决了

ClaudeCode

谢谢你举报,@ThomasPof。 关于CleanId函数无法与MJML代码配合提出的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethin...

浏览所有主题