GrapesJS 问题

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

找到 220 个问题

🔍 canvas
#40992022年1月25日作者 jloguercio2 个回答
0 个反应

“Using draggableComponents: false”仍然会拖动(克隆?)某些元素,如果我尝试编辑文本

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v96可复制演示链接 https://jsfiddle.net/809enL2w/1/描述一下那个虫子 我用domComponents: { draggableComponents: false }来避免拖动组件,只有在工具栏里用箭头拖动时才会,但如果快速选择或编辑文本,它仍然会拖动/克隆/复制选中的文本和其他组件 https://user-images.githubusercontent.com/12191804/150874942-73b3b714-5a9b-4e87-81b4-56ecd4dfb0b9.mp4 这是个bug吗?或者我该...

artf

是的,看起来原生的HTML5 D&D仍然能支持文本选择,我会试着修复。

ClaudeCode

谢谢你举报,@jloguercio。 “Using draggableComponents: false” 的问题在我尝试编辑文本时仍然会拖拽(克隆?)某些元素,这似乎是竞赛条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的Gra...

#40972022年1月24日作者 Joshmamroud3 个回答
1 个反应

MousePosFetcher 在 resizer config & change:style listener 无法工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 勇敢 V1.34.81 可复制演示链接 https://jsfiddle.net/joshmamroud/vkrcxuzb/41/ 描述一下那个虫子 如何复现这个漏洞?在画布上添加一个网格块调整列大小注意 mousePosFetcher 和 this.listenTo(this, 'change:style', ...) 的控制台日志没有显示。 预期的行为是什么? 当 mousePosFetcher 被叫时,也应呼叫 CB 当从this.listenTo(this, 'change:style', this.updateWidth)调用“change...

artf

你好@Joshmamroud呼叫 CB,当 mousePosFetcher 被呼叫时 这并没有发生,因为“可调整”选项并不会直接传递给调整器,而是通过[“resize”命令(https://github.com/artf/grapesjs/blob/master/src/commands/view/Resize.js)传递。你可以看到鼠标PosFetcher被画布处理。我可以更新命令以实现这种自定义,但请记住画布会做更多逻辑来获得正确的坐标。目前,你可以自己[扩展命令](h...

Joshmamroud

谢谢@artf!这说得通。

ClaudeCode

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

#40822022年1月20日作者 jloguercio3 个回答
0 个反应

从画布框中移除一些初始样式

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 没有演示 描述一下那个虫子 当我加载某个模板时,编辑器会添加一些初始样式,比如下面的图片,我该如何设置或移除某些样式?举个例子:我需要移除Webkit的滚动条样式,因为它会修改模板内侧的所有滚动条。 ![test123](https://user-images.githubusercontent.com/12191804/150230086-60edec9c-c0a8-45dc-a91b-4ec583952266.PNG)行为准则 [X] 我同意遵守本项目的行为准则

artf

检查主编辑器的配置选项(例如“baseCss”)https://github.com/artf/grapesjs/blob/dev/src/editor/config/config.js 请不要用问题漏洞来提问,这种情况下请开启讨论。

jloguercio

非常感谢

ClaudeCode

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

#40292021年12月22日作者 jloguercio2 个回答
0 个反应

当你有1000+个自定义块时,拖块到Canvas的性能

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v96可复制演示链接 没有演示描述一下那个虫子 如何复现这个漏洞?在块管理器中添加超过1000个方块,我这里是7864个字体的超棒图标。尝试从方块面板拖拽任意方块 解释 我把所有字体 Awesome Pro 图标都加成了单块,使用下面的代码,其中 jsonIcons 是一个包含所有 7,864 个图标的 json 变量,我需要用 archieve 把列表里的每个图标拖拽到 canvas 上 “''js $.each(jsonIcons,function(index, value) { let fontAwesomeIcon = { 类别:“...

artf

针对你,我建议创建一个[自定义块管理器](https://grapesjs.com/docs/modules/Blocks.html#customization),你可以根据需要调整块的界面(比如搜索、DOM虚拟化等)。

ClaudeCode

谢谢你举报,@jloguercio。 关于在拥有1000+自定义块时,拖块到Canvas性能的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...

#40202021年12月17日作者 cunj122 个回答
0 个反应

在编辑器中调用 getHtml 时,SVG 文本内容未更新

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 https://jsfiddle.net/1hrLxdba/30/ 描述一下那个虫子 如何复现这个漏洞?将 svg 文本块拖曳到画布上。通过 svg-text 特性更改其内容点击打印html 预期的行为是什么? 编辑器HTML应打印时,文本元素的文本内容也要有所变化。 目前的行为是什么? 编辑器的 html 是直接打印的,但没有应用的更改行为准则 [X] 我同意遵守本项目的行为准则

artf

你需要[更新组件内容](https://grapesjs.com/docs/api/component.html#components),而不是DOM

ClaudeCode

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

#40152021年12月15日作者 YairNa3 个回答
0 个反应

拖放在RTL时效果不好

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 https://jsfiddle.net/emgbo8k1/3/ 描述一下那个虫子 如何复现这个漏洞?将三列积木添加到画布上拖放以改变列的顺序 预期的行为是什么? 拖放应该能正确设置位置 目前的行为是什么? 拖放后列的位置不正确。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js editor.getWrapper().addClass(“gjs-wrapper”); 编辑。Css.setRule('.gjs-wrapper', { 导演:“RTL” }); ``` 我也把代码加进了JSFiddl...

sridhar391

@YairNa 我们也遇到过同样的问题,请参考链接 https://github.com/artf/grapesjs/issues/4094

JSSaint

@YairNa @sridhar391这不是RTL的问题。只有Chrome浏览器我们遇到了这个问题。Firefox 运行正常。

ClaudeCode

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

#39862021年12月1日作者 throne19864 个回答
3 个反应

无法读取未定义属性(读取“上传文件”)

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96.0.4664.45 可复制演示链接 https://codesandbox.io/s/react-redux-toolkit-application-forked-l5rhp?file=/src/pages/Editor.js 描述一下那个虫子 如何复现这个漏洞?直接拖拽标志到画布上,应该会报错 ![图片](https://user-images.githubusercontent.com/27904724/144279499-e5c99a21-ab39-4090-ba6b-812c0da5d05a.png) 预期的行为是什么?...

jkntar

我也遇到过这个问题。似乎只要我开始拖动某个区块的媒体图标,而不是“区块”文本或区块容器,就会出现这种情况。问题似乎通过在我每个模块的媒体图像样式中添加“指针事件:无”来解决。 我说的被拖拽的画面: ![图片](https://user-images.githubusercontent.com/75267836/144550654-469ca666-28a7-472d-b76e-c506f45f7935.png) 就我而言: “JavaScript 编辑。BlockManag...

markovic-nikola

'pointer-events: none;'对我来说不起作用,我几乎得重启整个浏览器才能恢复正常。

luasenvy

“指针事件:无”对我来说不起作用,我几乎得重启整个浏览器才能恢复正常工作。 @markovic-nikola:这真的非常重要。非常感谢。:D

#39752021年11月25日作者 Sudhin352 个回答
0 个反应

背景图片 如果只添加一页,所有页面开始重复

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v9可复制演示链接 什么都没有描述一下那个虫子 如何复现这个漏洞?实现多页概念创建3页点击装饰品中的背景图片(样式管理器),并将其添加到首页现在添加新页面或点击第二页或第三页 预期的行为是什么? 背景图片不应复制到所有页面,它应该只添加到所选页面 目前的行为是什么? 当只添加到页面时,背景图像会被添加到所有页面 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则[X] 我同意遵守本项目的行为准则

artf

请先检查这个选项 https://grapesjs.com/docs/modules/Selectors.html#component-first-selectors 如果仍然有问题,可以打开一个带有可复现演示链接的正式漏洞问题。

ClaudeCode

谢谢你举报,@Sudhin35。 关于背景图片如果只添加一页,所有页面都会开始重复,这个问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log(...

#39382021年11月12日作者 mingxin-yang2 个回答
0 个反应

Editor.select(model,{scroll:true}) ,滚动不工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/mingxin-yang/pen/YzxLNay 描述一下那个虫子 如何复现这个漏洞?editor.select(model,{scroll:true}) ,滚动不工作... 预期的行为是什么? 点击方块,添加到画布后,你可以选择、激活并滚动到选定的位置 目前的行为是什么? ... 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ```行为准则 [X] 我同意遵守本项目的行为准则

artf

谢谢@mingxin-yang,这个问题将在下一个版本中修复。

ClaudeCode

谢谢你举报,@mingxin阳。 关于 editor.select(model,{scroll:true}) ,滚动功能不工作,这个问题很棒。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', ()...

#38832021年10月21日作者 akhalid-dev1 个回答
0 个反应

GrapesJS 的导出功能和“查看代码”功能,而 Canvas 在六进制颜色方面则不像其他方式。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?直接访问网站:https://grapesjs.com/demo.html。清理画布以便进行更简单的演示。从“模块”部分插入文本元素。选择丢弃的文本元素,选择“样式管理器”,展开“排版”部分。粘贴十六进制值:“8ceb34”。这会在 GrapesJS 画布中将文字颜色更新为绿色。然而,当我们查看生成的CSS或导出为zip时,缺少的“#”符号将缺失,颜色也不会被应用。 ![图片](https://user-images...

ClaudeCode

感谢你举报,@akhalid-dev。 关于 GrapesJS 导出功能和“查看代码”功能,以及 Canvas 在十六进制颜色方面不一样的建议,真是太棒了。!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“sel...

浏览所有主题