GrapesJS 问题

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

找到 545 个问题

🔍 typescript
#54252023年9月26日作者 javadsamiee2 个回答
2 个反应

添加相似页面时,仅会更改组件ID。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 117 可复制演示链接 https://jsfiddle.net/mirjavad/ctsx7zer/5/ 描述一下那个虫子 我想为一个页面创建一个克隆动作,并注意到了这个bug。 如何复现这个漏洞?创建多个具有相同组件ID和CSS的页面 页码: [{ 编号:“第1页”, 名称:“第1页”, 组件: '<div id=“comp1”>第1页</div>', 风格:“#comp1 { 颜色:红色 }', }, { 编号:“第2页”, 名称:“第2页”, 组件: '<div id=“comp1”>第2页</div>', 风格:'#comp1 { 颜色:绿...

artf

好的抓包@javadsamiee将在下一次版本中修正

ClaudeCode

谢谢你举报,@javadsamiee。 关于添加类似页面时,组件ID会被更改,这个问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('som...

#54242023年9月26日作者 bgrand-ch2 个回答
1 个反应

'component:styleUpdate' 事件未被触发

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 116.0.5845.187可复制演示链接 https://jsfiddle.net/yLcvbwjd/描述一下那个虫子 如何复现这个漏洞?添加“component:styleUpdate”事件用“addStyle”或“setStyle”更新组件的样式 预期的行为是什么? 'component:styleUpdate' 被触发 目前的行为是什么? 'component:styleUpdate' not 已触发行为准则[X] 我同意遵守本项目的行为准则

bgrand-ch

@artf ❤️

ClaudeCode

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

#53982023年9月19日作者 padcom2 个回答
0 个反应

Package.json 中导出时缺少类型声明

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 镀铬可复制演示链接 https://github.com/padcom/grapesjs-import-error描述一下那个虫子 0.21.6 改变了导出方式,现在 VSCode 不再识别类型声明: ![图片](https://github.com/GrapesJS/grapesjs/assets/553994/1505cca4-2436-4840-8efd-2f2adccb4723) 当TypeScript使用以下情况时,就会发生这种情况: '''json “compilerOptions”: { “module”:“ESNext”, “module...

padcom

PR:https://github.com/GrapesJS/grapesjs/pull/5399

ClaudeCode

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

#53892023年9月16日作者 hannydevelop3 个回答
1 个反应

GrapesJS v0.21.5 在 NodeJS(无头)中无法工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? ChromeV117.0.5938.62 可复制演示链接 https://stackblitz.com/edit/node-1zsusv 描述一下那个虫子 如何复现这个漏洞? 运行“node index.js”启动应用程序。 预期的行为是什么? ... 目前的行为是什么? 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js const editor = grapesjs.init({ headless: true }); ```行为准则 [X] 我同意遵守本项目的行为准则

hannydevelop

你能查查最新版本吗 https://github.com/GrapesJS/grapesjs/releases/tag/v0.21.6 非常感谢@artf这方法非常有效。

artf

你能查查最新版本 https://github.com/GrapesJS/grapesjs/releases/tag/v0.21.6

ClaudeCode

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

#53882023年9月16日作者 hannydevelop4 个回答
0 个反应

运行无头模式时,编辑器返回不同的 HTML

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? ChromeV117.0.5938.62 可复制演示链接 https://codesandbox.io/embed/quizzical-galileo-cqldjh?fontsize=14&hidenavigation=1&theme=dark 描述一下那个虫子 如何复现这个漏洞?使用商店管理器的商店页面尝试用无头模式取回他们 预期的行为是什么? 创建的HTML应与编辑器相同,包括自定义标签。 目前的行为是什么? 自定义标签和其他非默认标签如“input”会被转换成“div”。例如,以下是编辑者的正常行为: 不过,这里有无头模式的代码: 看看“输入”...

artf

你好,@hannydevelop你有自定义组件类型,但你没有在“grapesjs.init”上传递任何插件,这就是为什么默认的“div”应用了

hannydevelop

你好,@hannydevelop你有自定义组件类型,但你没有在“grapesjs.init”上传递任何插件,这就是为什么默认的“div”应用了 抱歉我又要重新打开这个,按正常方式添加插件会返回错误:

artf

@hannydevelop能给我看代码吗?

#53852023年9月14日作者 padcom4 个回答
0 个反应

GetDirtyCount() 非确定性加载后

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://github.com/padcom/grapesjs-bug-dirty-count-non-deterministic/blob/master/index.html 描述一下那个虫子 目前,当用户调用“wait load()”时,脏计数为零。只有在下一个事件循环或之后,计数才会增加。因此: “JavaScript await editor.load() console.log(editor.getDirtyCount()) 变更次数为1。 预期行为是,在等待调用“load()”后,如果如 #5373 所述编辑器被...

artf

还增加了加载选项,以便在加载后清除编辑器内部状态 “''js const storageOptions = {}; const loadOptions = { clear: true }; await editor.load(storageOptions, loadOptions); editor.getDirtyCount();加载后应该始终是0 ```

padcom

谢谢!期待下一次发布!

artf

这里已经有 https://github.com/GrapesJS/grapesjs/releases/tag/v0.21.6

#53792023年9月12日作者 Sw33tgt4 个回答
4 个反应

组件的类别修改不会自动检测

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 版本 116可复制演示链接 https://jsfiddle.net/h5b0ndvL/1/描述一下那个虫子 当组件在画布中重新渲染时,模型定义中添加了一个新属性会被渲染,但当组件渲染到画布时,新添加的类不会被添加。初始化函数 Component.ts 添加默认属性以及组件属性。 'this.set('attributes', { ...(result(this, 'defaults').attributes ||{}), ...(this.get('attributes') ||{}), });` 然而,当我查看 initClasses(...

Sw33tgt

目前作为一个变通方法,我用 'editor.on('component:mount', (component) => {});' 函数添加了这个功能,直到收到反馈。看起来效果不错。如果某个类从定义中移除,该被移除的类仍然可以在已保存组件的类列表中使用,但我猜没有解决办法。 “打字稿” editor.on('component:mount', (component) => { const cls = component.getClasses() ||[]; const cls...

Sw33tgt

是的,这对类是有意为之,按照你的方法,你无法从组件中移除定义的类,它们会在组件初始时不断添加。 这对于组件中某个类被遗忘,想在渲染时添加它到另一个版本插件时是可以的。我们把这些类设置为私密,这样用户看不到它们,也无法手动移除。 我相信作为一种变通方法,我可以把旧类的定义存到新属性上,然后在渲染新类之前比较它们,看看哪些需要被删除。我可以想办法解决我们需要的。 感谢你的回复@artf,

Sw33tgt

在 Component.ts 的 initClasses() 函数中做类似这样的功能,会把新类添加到渲染的元素中。告诉我你的看法: “打字稿” const cls = this.get('classes') ||攻击者 ||[]; 从const变为令 令 clsArr = isString(cls) ?cls.split(' ') : CLS; / 与默认职业对比 / cont dCls = result(this, 'defaults').classes ||[]; co...

#53782023年9月11日作者 Sw33tgt4 个回答
0 个反应

未捕获类型错误:在图层管理器面板拖动组件时无法读取未定义属性(读取“Canvas”)。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v116.0.5845.97 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?从画布中选择任意组件打开图层管理器面板选择第一个“分段”组件使用箭头移动该段并改变顺序 预期的行为是什么? 该部门应将新位置移动 目前的行为是什么? 控制台正在抛出一个错误:未捕获类型错误:无法读取未定义属性(读取“Canvas”)和未捕获类型错误:无法读取未定义属性(读取“方法”)。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ``` ![图片](http...

Sw33tgt

我降级到v0.21.4后这个问题就没了,所以只在最新版本上出现。

padcom

最简单的例子里也有同样的问题。降级到0.4会让它消失。回归?

artf

是的,已经修正了[这里](https://github.com/GrapesJS/grapesjs/issues/5355)。我会推迟本周末发布新书。

#53772023年9月11日作者 Akkiiiiiii4 个回答
0 个反应

错误:node_modules/grapesjs/dist/index.d.ts:12551:2 - 错误 TS1005:“?”预期。 12551 }>?C : {}) |未定义) =>(编辑者:编辑者) =无效>; ~ 错误:node_modules/grapesjs/dist/index.d.ts:12558:3 - 错误 TS1005:“?”预期。 12558 }>?C : {}) |未定义) =>(编辑者:编辑者) =无效>;

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬描述一下那个虫子 升级后,新版本0.21.5出现了这些错误。我们用的是Grapesjs + Angular,Grapesjs V 0.21.5,jsFiddle和codeSandbox目前都不提供,所以我放了一个假链接。请帮帮我们。行为准则[X] 我同意遵守本项目的行为准则

Akkiiiiiii

@artf你能帮我检查一下吗

THEWebDegenerate

我用的是Safari和Chrome。 2023年9月12日星期二晚上10:52 Akshay jangid @.> 写道:@artf <https://github.com/artf>你能帮我检查一下这个吗—直接回复此邮件,请访问GitHub查看<https://github.com/GrapesJS/grapesjs/issues/5377#issuecomment-1716989704>,或取消订阅<https://github.com/notifications/un...

ghost

升级后+1

#53632023年9月5日作者 rozek4 个回答
0 个反应

无法“排序”图层面板的元素

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 当我尝试通过图层面板中排序画布上的元素时,拖曳时反复出现以下错误提示: 此外,在“鼠标上移”时,我会收到以下错误信息 这个问题可能是最近才出现的,因为我记得几天前排序功能还能用......行为准则[X] 我同意遵守本项目的行为准则

arbisyarifudin

我也遇到同样的问题

rozek

'Sorter.ts:500' 包含 'const cv = this.em!.Canvas',显然是错误的(因为“em”_是null或未定义) 很遗憾,我目前还不太理解所有缩写的代码——但是:如果将第499行改为“如果(型号?)”,会不会更易。Set && (this.em != null)) {' 这里有帮助吗? 注意:确实,这个小“窍门”帮我整理图层——我可以把图层往下移,但不能往上移。而且,因为我不懂代码,我的破解就是“破解”,不是修复!

artf

作为 https://github.com/GrapesJS/grapesjs/issues/5355 的重复关闭

浏览所有主题