PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

GrapesJS 问题

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

找到 743 个问题

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

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

GrapesJS 版本[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”)。

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

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 : {}) |未定义) =>(编辑者:编辑者) =无效>;

GrapesJS 版本[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

#53732023年9月8日作者 padcom4 个回答
1 个反应

“getDirtyCount()” 加载后返回 “1”

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome最新款 可复制演示链接 https://github.com/padcom/grapes-bug-dirty-after-loading/blob/master/src/App.vue#L37 描述一下那个虫子 克隆并启动项目开放控制台 当前行为:变化次数为1 期望行为:变化次数为0 补充说明:使用 autoload 变更次数时,变更次数保持为0行为准则 [X] 我同意遵守本项目的行为准则

artf

你好@padcom这是正常行为,因为加载本身会更新编辑器的状态。 你可以在手动加载后,通过“editor.clearDirtyCount()”直接清除脏计数器。

padcom

请注意,如果你启用了“自动加载”: 并禁用加载功能: 修改次数为“0”,尽管结果相同——页面被加载。因为我的项目非常需要能在特定时间加载页面,这让一切都乱了。我也尝试过在加载后清除更改次数,但由于设置代码是通过“setTimeout()”回调,无法确定性地完成。

padcom

请问?你是认真的认为这是“预期”的行为吗?你见过其他编辑器加载时项目会自动修改然后自动保存吗?我很难相信。

#53722023年9月8日作者 uncldrw1 个回答
0 个反应

无法添加自定义AtRule(@container,@font面)

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Windows、Chrome、React 可复制演示链接 / 描述一下那个虫子 当尝试添加自定义 atRules 如 @container 或 @font-face 时,CSS 总是会编译成 @media。我尝试过多种方法,包括使用 Css.setRules 和 Css.addRules,以及插入 HTML 字符串,但都无济于事。 这是我给的代码: 行为准则 [X] 我同意遵守本项目的行为准则

GJS Helper

你遇到的自定义AtRules(如@container或@font-face)在使用editor.Css.addRules时被编译成@media的问题,是GrapesJS当前CssComposer中的已知限制。 根本原因 GrapesJS的CssComposer(负责管理 CSS 规则的模块)有一个内部解析器,主要用于处理标准 CSS 规则(带有属性的选择器)和一组特定的 AtRule,尤其是 @media 查询。当CssComposer遇到 AtRule 时,它没有显式识别...

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

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

GrapesJS 版本[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 的重复关闭

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

拖拽/丢弃属性函数在拖拽时未被调用

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64) 可复制演示链接 没有 描述一下那个虫子 我用特定的类型拖拽规则定义了自己的组件类型: 但配置的函数从未被调用。相反,拖曳无需任何约束,而插入仅能进入包装元素。 一个可能很重要的细节:我的 dragMode 设置成 'absolute' 行为准则 [X] 我同意遵守本项目的行为准则

rozek

即使将“可拖拽”和“可丢弃”设置为“true”,我也无法将一个元素拖入另一个元素

rozek

第一个解决方法可以帮助将组件放入其他组件:从 'grapesjs.init({...})中移除'dragMode:'absolute'`相反,在你希望拖拽(甚至可能可丢弃)的每个组件类型的“model.defaults”中添加“dmode:'absolute' 然而遗憾的是,在将组件移入或移出容器后,绝对位置并不会重新计算......这使得“功能”使用起来非常困难。更不用说,在图层面板内将组件分类到容器中非常繁琐。 而且,“可拖拽”和“可丢弃”这两个函数依然没有被调用。

artf

在绝对模式下,没有移动组件在其他组件内外的概念。绝对模式下的组件只在样式位置上更新,DOM中不会移动,这就是为什么可拖拽/可放在这里不合理。 如果你不完全理解系统原理,请@rozek避免打开BUG问题,建议使用讨论区。

#53572023年9月3日作者 peters-ben-00071 个回答
0 个反应

(类型问题)在添加新的 rte 动作时无法通过 HTMLElement 作为图标

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/vmeywbk8/11/ 描述一下那个虫子 我们遇到一个小问题——在给 RichTextEditor 添加动作时,RichTextEditorAction 的“icon”属性被标记为字符串。 但在 addAction 中 (https://github.com/GrapesJS/grapesjs/blob/793599cbd5493c0104db1134bd4b1684341274a7/src/richtexteditor/model/RichTextEditor.ts#L363...

GJS Helper

你准确地指出了GrapesJS关于富文本编辑器(RTE)动作icon属性的类型不匹配。RichTextEditor.addAction方法确实设计成接受string(针对SVG路径或类名)和对icon属性的 HTMLElement实例,但TypeScript对RichTextEditorAction['icon']的定义目前过于严格,只允许string。 根本原因 正如你指出的,addAction方法通过isString(icon)检查提供的icon是否是字符串。如果是字符...

#53552023年9月1日作者 andcmatias1 个回答
0 个反应

移动层

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬116 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?打开图层管理器,尝试移动组件它会禁用该组件,并在控制台中显示错误信息。未捕获类型错误:无法读取未定义属性(读取“画布”) at o.selectTargetModel (Sorter.ts:500:27) at o.onMove (Sorter.ts:545:10) e时(executeBound.js:8:65) 在HTMLDivElement.<匿名> (bind.js:10:12) 在HTMLDivElement...

GJS Helper

感谢您报告此问题。我可以确认这是最新版本GrapesJS中的一个可重现的bug,包括官方演示页面(https://grapesjs.com/demo.html)。该bug阻止用户通过图层管理器中的拖放功能重新排序组件。 根本原因分析 你遇到的错误,Uncaught TypeError: Cannot read properties of undefined (reading 'Canvas')和Uncaught TypeError: Cannot read properti...

#53542023年9月1日作者 rozek4 个回答
0 个反应

Canvas.script 的条目不尊重“导入映射”

GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 引用`canvas.scripts 的脚本 无法基于“导入映射”导入第三方模块。 如果同一模块需要同时被编辑器、预览和HTML导出使用,可能需要准备两个不同的脚本版本——一个用于开发(GrapesJS内),另一个用于部署——这绝对应避免行为准则[X] 我同意遵守本项目的行为准则

artf

https://github.com/GrapesJS/grapesjs/issues/5353#issuecomment-1704023749

rozek

你测试过吗? 尝试时 在当前版本的GrapesJS中,浏览器日志中会出现以下(扩展版)错误信息:

rozek

尝试用数据URI代替文件引用也失败了

浏览所有主题