GrapesJS 问题

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

找到 43 个问题

🔍 keyboard
#41922022年3月11日作者 drashtibpatel2 个回答
0 个反应

DragMode:absolute/translate 时拖拽边界问题

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome,Firefox 可复制演示链接 https://jsfiddle.net/drashti/9xk5ph8j/1/ 描述一下那个虫子 我正在为我的客户使用Grape JS构建器来设置构建器和模板。为此,我想要setDragMode是“绝对或翻译”,这样可以根据这些元素并排设置。 但做完后,元素就离开了画布区域。我想像普通拖拽模式一样限制它,但位置应该绝对控制。 有没有办法限制元素进入画布区域外? 请参阅下方图片作为参考。 https://www.awesomescreenshot.com/image/23890163?key=97ac62...

artf

不,目前不可能。拖拽模式并不是公开且有文档的特性,所以我收集了所有问题和功能来支持这里:https://github.com/artf/grapesjs/issues/3770#issuecomment-944915841

ClaudeCode

谢谢你举报,@drashtibpatel。 dragMode: absolute/translate 的 drag boundary 问题似乎是竞赛条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可...

#41662022年2月26日作者 Ameeko1 个回答
0 个反应

打开样式管理器 - 类别可以通过按回车键添加

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v98 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 在“Open style manager”中,可以通过按下回车键添加CSS类。 如果 GrapesJS 在 Form 标签内,添加 CSS 类即可提交表单。 因此,这个函数在大多数情况下无法使用。 我觉得值得解决这个问题。 行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

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

#40012021年12月8日作者 javadsamiee2 个回答
0 个反应

当第一次输入的自动值时,无法保持当前单位

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 96.0.4664.93 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?创建新块,例如Text块导航维度>宽度(默认为自动)换成大众然后移除自动,输入一个值,例如100按回车键后,单元将改为100像素,而非100vw 预期的行为是什么? 更换单元并输入非自动值后,它应该保持当前单元(VW),而不是把它改成 PX 目前的行为是什么? 进入默认(PX)后的单元 行为准则 [X] 我同意遵守本项目的行为准则

artf

从当前的试玩版来看,似乎已经修复了。

ClaudeCode

谢谢你举报,@javadsamiee。 关于第一次输入自动值时无法保持当前单位的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something c...

#40002021年12月7日作者 zachsnoek4 个回答
0 个反应

在根体层粘贴组件会触发类型错误

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v89 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?在官方演示中,进入图层管理器,用“cmd+c”复制任意图层点击根“Body”图层,并用“cmd+p”粘贴进入浏览器控制台查看错误 预期的行为是什么? 贴上身体层可能不被允许,但不应该出错。 目前的行为是什么? 粘贴根“Body”图层会抛出以下例外: “''文本 未捕获类型错误:无法读取未定义的属性“indexOf” PasteComponent.js:13 在 Array.forEach (<anonymous>)...

artf

谢谢@zachsnoek,是的,因为包装器(正体)是根组件,它没有相关的集合。 可能我们需要更新粘贴逻辑,但你目前的修复是个不错的补丁,可以避免这种错误,所以PR非常受欢迎 👍

zachsnoek

谢谢@zachsnoek是的,因为包装器(主体)是根组件,所以它没有相关的集合。可能我们需要更新粘贴逻辑,但你目前的修复是个不错的补丁,可以避免这种错误,所以PR非常受欢迎 👍 听起来不错;我会在本周末前刷新个人纪录 :+1:

GuiMoraesDev

伙计们,我也遇到类似的问题 对我来说,错误发生在FileUploader上 ![截图,2021-12-16 17-10-32](https://user-images.githubusercontent.com/18218319/146442408-edc2621f-ea02-4131-bac6-47dd2ff384c7.png) 我试着在Grapes Demo里输入,看看那里是否也会出现这种情况,结果确实发生了! 我意识到如果我清理LocalStorage并重新加载页面,...

#38612021年10月12日作者 heminei1 个回答
0 个反应

按“s”或“w”键时 JS 错误——无法读取未定义属性(读取“indexOf”)

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 94.0.4606.81(官方版本)(64 位) 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?选择正体元素按“s”或“w”键 预期的行为是什么? 不应该在控制台里出错 目前的行为是什么? 控制台出现错误: 行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

谢谢你举报,@heminei。 关于按“s”或“w”键时出现的JS错误——无法读取未定义属性(读作“indexOf”)的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => cons...

#37342021年8月30日作者 anatoli-dp4 个回答
2 个反应

有没有办法在自动保存之外手动触发存档?

正如问题所说,有没有办法通过自动保存以外的命令触发保存功能?不是键值对,而是能瞬间保存整个项目的命令?

csechrist

如果你设置了存储管理器,'editor.store()' 可以保存项目

artf

是的,你必须使用“editor.store()”

anatole-dp

Editor.store()没有参数,只会给我发送空数据。

#37312021年8月27日作者 gustavohleal4 个回答
1 个反应

文本元素在事件扩展后无法重复选择

版本:0.17.25 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 通过在视图中添加事件来更新现有的类型文本组件。 详细描述那个漏洞 事件正在添加,但一旦我选择了另一个组件,就无法回到第一个组件。该版本只能提交一次。 你能附上截图、截屏或实时演示吗?**[x] 是(附上)[ ] 不 首先,我想扩展文本类型组件,添加一个事件来监听输入内容。 “JavaScript 导出默认(编辑器,opts = {}) => { const domc = 编辑。主导组件; domc.addType('text', { 浏览量:{ 事件:{ 按键:(e) => { console.log(“某些代码”) } } }, });...

gustavohleal

这其实就是问题所在。谢谢你的回复。我会关闭这期刊物。

ronaldohoch

+1:D 我们正在努力解决这个问题 https://github.com/artf/grapesjs/issues/1136 因为用 ckeditor 还是会出现这个问题。 ![图片](https://user-images.githubusercontent.com/2287371/131171028-4e03e610-2335-4b9a-9f15-081b8c6c33f8.png)

artf

“事件”不会自动合并到扩展组件中,所以你必须手动操作。 “''js 事件:{ ...domc.getType('text').view.prototype.events, 按键:(e) => {...} } ```

#37272021年8月26日作者 SintoDema4 个回答
1 个反应

风格导入问题

你好,@artf, 详细描述这个漏洞 在用 GrapesJS 创建新模板时,我遇到了一个情况:当我们尝试从 import modal 导入 CSS 时,编辑器中没有反映出来。在一个空白编辑器上,我创建了一个模板,添加了HTML和CSS。之后,我需要在CSS部分做一些修改,为此,我选择了编辑器顶部的导入选项,滚动到底部的样式标签。我看到了导致问题的样式,我选中并删除了它。之后,我点击了导入按钮。 然后我检查了模板,样式问题依然存在。于是我再次打开导入模态确认样式不存在,并正确地移除了它。我看到我移除的风格还在风格标签里。我尝试过多次删除并导入。它没有从编辑器中移除。我再次打开导入模态时,它就在了。 目前的行为是什么? 从导入模态中移...

artf

你好@javadsamiee这个问题在最新版本的预设插件上已经修复了

artf

你好,@SintoDema问题就在这里 https://github.com/artf/grapesjs-preset-webpage/blob/3e5a9e12998c9a32b6f1199953084163678e6c17/src/commands/openImport.js#L15-L18 如你所见,它更新了组件,但不会清除样式模块。 我现在没时间做那个插件,但我建议你在那里开个问题/PR,总有一天我会修复的。

javadsamiee

你好@SintoDema问题就在这里 https://github.com/artf/grapesjs-preset-webpage/blob/3e5a9e12998c9a32b6f1199953084163678e6c17/src/commands/openImport.js#L15-L18如你所见,它会更新组件,但不会清除样式模块。我现在没时间做那个插件,但我建议你在那里开个问题/PR,总有一天我会修复的。 @artf 这个问题有最新进展吗?

#36872021年8月10日作者 Joshmamroud4 个回答
1 个反应

键盘快捷键/按键映射无法使用

版本: 0.17.22 你能重现演示中的bug吗?[ ] 是的[X] 不 我无法在演示中复现,但你可以用以下凭证登录[Documint](https://app.documint.me)亲自观看:电子邮件: [email protected]: 演示 然后修改模板,试试用“ctrl+z”。 预期的行为是什么? 应该能使用映射的快捷键(比如 Ctrl+Z),但它们不起作用。 目前的行为是什么? 键映射是注册的,但它们无法使用。当我运行 'keymaps.getAll()' 时,会看到所有默认的 keymaps 列表。当我听到键位映射的发射时,我什么都没有。当我通过配置添加自定义键位映射(比如“alt+u”),或者在初始化时添加时,...

Joshmamroud

你说得对,不是React或GrapesJS。事件传播被我使用的[rc-drawer](https://github.com/react-component/drawer)组件阻止了。@artf谢谢你的帮助,这个问题从一开始就存在。

artf

嘿,@Joshmamroud我们有[代码](https://github.com/artf/grapesjs/blob/75be5144a95488e557afabeca8ae50da8e15c60a/src/canvas/view/FrameView.js#L432-L444)可以将“keydown keyup keypress”事件传播到父文档,这样可以让keymaps正常工作,但一定要确保不包含任何阻止这些事件传播的代码或组件。

Joshmamroud

嘿,@artf,我觉得这可能被React屏蔽了。有什么建议能重新绑定这些活动听众吗?甚至不确定这是不是正确的解决方案或路径。

#35492021年6月19日作者 anlumo1 个回答
0 个反应

CreateCustomEvent 无法正确处理鼠标事件

版本: 0.17.4 / git master 详细描述那个漏洞** FrameView 在这里重新打包键盘和鼠标事件: https://github.com/artf/grapesjs/blob/07061ae1307fedf2a3b9bd585ce0cb30f653f112/src/canvas/view/FrameView.js#L389-L399 我认为原因与将iframe事件重定向到父帧事件有关。这本来没问题,但“createCustomEvent”函数看起来是这样的: https://github.com/artf/grapesjs/blob/07061ae1307fedf2a3b9bd585ce0cb30f653f1...

ClaudeCode

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

浏览所有主题