GrapesJS 问题

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

找到 743 个问题

🔍 bug
#60482024年8月7日作者 danstarns1 个回答
0 个反应

打字稿

代码库目前使用过时版本的 TypeScript。该票旨在: 升级到最新版本的TypeScript。 确保所有项目中的TypeScript配置一致。 将TypeScript集成到开发和CI流程中,实现自动类型检查。 更新和标准化 TypeScript 将提升类型安全性,减少错误,并提升整体代码质量。

ClaudeCode

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

#60452024年8月7日作者 danstarns1 个回答
0 个反应

线条处理,格式化

代码库目前使用过时的线条工具和格式化库。该票旨在: 升级到最新版本的线条处理工具和格式化库。 确保所有项目的线条和格式规则保持一致。 将这些工具集成到开发和CI流程中,实现自动化执法。 标准化这些工具将提升代码质量,减少错误,并创造更为统一的开发环境。

ClaudeCode

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

#60402024年8月6日作者 Vampire-V4 个回答
0 个反应

无法读取未定义的属性(读取“lastComponent”)

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 127.0.6533.89(官方构建)(64 位) 可复制演示链接 描述一下那个虫子 请检查此事。selectern的值未定义。我在React里用它,结果出现了错误异常。 /*返回所选组件的模型@return {Component|null}@public / EditorModel.prototype.getSelected = function () { return this.selected.lastComponent(); }; ![图片](https://github.com/user-attachments/assets/2eaf...

artf

@Vampire-V,请正确遵循bug问题模板。没有可复现的演示,我们无法帮你。

Aravinth-2020

### 葡萄JS版本[x] 我确认使用最新版本的GrapesJS### 你用的是什么浏览器?版本 127.0.6533.89(官方构建)(64位)### 可复制演示链接### 描述一下那个虫子请检查此事。select的值为未定义。我在React里用它,结果出现了错误异常。/* 返回所选组件的模型 @return {组件|null} @public */ EditorModel.prototype.getSelected = 函数 () { return this.selec...

Aravinth-2020

嘿,@Vampire-V,请正确遵循漏洞问题模板。没有可复现的演示,我们无法帮你。 你能分享一下解决办法吗? 我选择开放图层管理器时也遇到同样的问题,这个问题是在我自定义左边栏面板中选择另一个页面后出现的。

#60392024年8月6日作者 Gryphonn4 个回答
3 个反应

无法设置块显示值

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬126 可复制演示链接 https://jsfiddle.net/Gryphonn/ob1pznh6/ 描述一下那个虫子 如何复现这个漏洞?选择任意单词。包装得有型。保持该词被选中。进入通用->显示我要布洛克。我点击了“屏蔽”,但什么都没发生。 预期的行为是什么? 显示值必须是空的,这样我才能立即选择所需的内容。 或者它必须显示所选文本当前的实际显示值。这里是Inline,而不是Block。 目前的行为是什么? 目前我需要点击两次。 首先,点击除屏蔽以外的任何东西。显示场被激活。 那我应该点击屏蔽。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下...

artf

是的,问题就在这里: https://github.com/GrapesJS/grapesjs/blob/1e3766f0060e6da502fccf9ba9eb938d5ac860bb/src/style_manager/model/PropertyFactory.ts#L267 添加一个新选项,比如“初始”,并设为默认选项,这样做合理吗?

danstarns

> 你好@Gryphonn,>我试图复现你的问题,但步骤不太清楚,请重新表述。bandicam.2024-08-08.21-07-14-667.mp4 感谢您的详细报告 🙏 看起来我们应该更好地处理默认显示,这样你就不用先切换到另一个显示器再切换回来。

danstarns

你好,@Gryphonn, 我试着重现你的问题,但步骤不太清楚,请重新表述。

#60382024年8月6日作者 dharma-glui2 个回答
0 个反应

像按钮上的Onclick事件这样的内联事件声明正在被移除

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 https://jsfiddle.net/6bn43a05/描述一下那个虫子 如何复现这个漏洞?为HTML标签添加点击事件 预期的行为是什么? 加载到编辑器后不应该删除该事件 目前的行为是什么? 它会从 HTML 中移除点击事件 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 不需要额外添加代码 ``` 同样的问题在这里报告: https://stackoverflow.com/questions/78496572/grapesjs-removes-onclick-attributes-how-to-prevent-i...

artf

这是出于安全考虑,但你可以用“config.parser.optionsHtml.allowUnsafeAttr”选项禁用它(风险自负):https://github.com/GrapesJS/grapesjs/blob/819bfcf44bb23d51990eba3b4330e9932df59cde/src/parser/config/config.ts#L116

ClaudeCode

谢谢你举报,@dharma-glui。 关于像按钮上的点击事件这样的内联事件声明正在被移除的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('s...

#60322024年8月3日作者 aswinkumar8632 个回答
0 个反应

图像分量支持通过拖放上传和选择视频文件

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v126 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 如何复现这个漏洞?打开[演示](https://grapesjs.com/demo)双击任意现有的图像组件以打开资产管理器。将视频文件拖拽到图片上传区。等待视频文件上传。点击上传的视频资源选择它。 注意: 这个问题只在拖放时出现。视频组件也受此影响。 预期的行为是什么? Image 组件应防止错误的文件类型选择。如果资产管理人第一步阻止上传错误类型的文件,那会更好。行为准则 [X] 我同意遵守本项目的行为准则

artf

感谢@aswinkumar863报告。我很乐意合并修复的PR。

ClaudeCode

谢谢你举报,@aswinkumar863。 关于Image Component允许通过拖放上传和选择视频文件的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义...

#60242024年7月30日作者 yashvi20262 个回答
0 个反应

无法隐藏某些特定组件类型的RTE功能

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/xxoOyXO 描述一下那个虫子 https://github.com/GrapesJS/grapesjs/issues/6019 关于此点, 我想只为某一特定类型隐藏。 示例:当组件属于链接类型时隐藏 rte行为准则 [X] 我同意遵守本项目的行为准则

artf

https://github.com/GrapesJS/grapesjs/issues/6019#issuecomment-2267466020 请避免制造重复问题。

ClaudeCode

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

#60192024年7月26日作者 yashvi20264 个回答
0 个反应

在最新版本中无法隐藏RTE功能

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/Harshsne/pen/xxoOyXO 描述一下那个虫子 如何复现这个漏洞?删除文本组件编辑文本组件 预期的行为是什么? RTE不应该被展示 目前的行为是什么? RTE被展示 当我把Grapesjs的版本改成0.20.4时,这个代码还能用,只有最新版本里它不能用行为准则 [X] 我同意遵守本项目的行为准则

artf

是的,'onActive'现在是异步方法,所以用'extendFnView'扩展它不够,你的代码会先于原始代码执行。 无论如何,你用一行简单的CSS也能达到同样的结果 “''CSS .gjs-rte-toolbar { 显示:无; } ```

yashvi2026

但我只想隐藏某些特定类型,比如:文本@artf

artf

你仍然可以不使用“extendFnView”来扩展视图。如[这里](https://grapesjs.com/docs/modules/Components.html#extend-parent-functions)所示,通过原型重用原始组件类型。

#60122024年7月21日作者 aswinkumar8631 个回答
0 个反应

使用上下箭头时,输入数字值不会保持

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v126 可复制演示链接 https://codepen.io/aswinkumar863/pen/VwJaVYG 描述一下那个虫子 如何复现这个漏洞?打开[演示](https://codepen.io/aswinkumar863/pen/VwJaVYG)。点击编辑正文中的“点击我”部分。导航到Style Manager并选择General > Top。在输入框中输入任意数字,但不点击外部。点击上或下箭头。 注意: 仅在输入字段未点击外部时观察到此行为。数字特征也受此问题影响。 预期的行为是什么? 输入数字应与当前输入的值递增或递减。...

ClaudeCode

谢谢你举报,@aswinkumar863。 关于输入数字值在使用上下箭头时不会持续存在的问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log(...

#60012024年7月13日作者 thigh1 个回答
0 个反应

图层管理器在页面间交替切换时会断裂

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? MS Edge 126.0.2592.87(官方版本)(arm64) 可复制演示链接 无 描述一下那个虫子 如何复现这个漏洞?...使用 grapesjs 的 0.21.11 或 0.21.12 版本,创建一个多页项目。在A页时,图层管理器正常工作。切换到B页同样正常。...切回页面A会导致图层管理器停止响应,使其失去使用功能。实际上,切换到任何之前加载的页面都会引起这个问题,但第一次切换到任意页面则正常。切回v0.21.10问题解决 预期的行为是什么? ...图层panager应反映当前加载页面的组件并允许交互。 目前的行为是什么? ...图层管理...

ClaudeCode

谢谢你举报,@thigh。 关于图层管理器在页面切换时会断裂的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪...

浏览所有主题