GrapesJS 问题

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

找到 743 个问题

🔍 bug
#41452022年2月17日作者 lofcz2 个回答
0 个反应

0.18.3 文本编辑不触发链接>文本组件

葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬99 可复制演示链接 https://codesandbox.io/s/distracted-archimedes-fhmnpg 描述一下那个虫子 如何复现这个漏洞?打开演示双击“我是文本”组件。 目前的行为是什么? 双击“a”中的文本元素(“span”、“i”......)会切换到父“a”元素,而不是打开选中的元素的rte。在0.18.2中,这功能正常运行。 根据这里的模板,https://codesandbox.io/s/1r0w2pk1vl 最小的复刻是从中“补丁”index.html' “''js <div id=“gjs”> <div s...

artf

是的,我明白问题所在。在 A 内双击文本元素(span, i...)会切换到父元素,而不是打开所选元素的 rte 在文本组件视图中实现了[新逻辑](https://github.com/artf/grapesjs/blob/eb192dd914daf7c5af49deaa232db4dff6c8362d/src/domcomponents/view/ComponentTextView.js#L28),这是有意为之。其目的是通过将编辑传递给最近的 RTE 组件,防止嵌套 RT...

ClaudeCode

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

#41382022年2月12日作者 yadavAtIrisdame4 个回答
0 个反应

风格管理器中的意外行为

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 1.35.101 Chromium:98.0.4758.87(官方版本)(64位) ![填充声](https://user-images.githubusercontent.com/97948548/153704600-39c7336b-4837-444d-8b8c-fd48b9cb6c74.gif)可复制演示链接 https://codesandbox.io/s/strange-sun-qgdcq?file=/index.js描述一下那个虫子 如何复现这个漏洞?将组件放入 Canvas选择组件并施加一些边距和填充 预期的行为是什么? ...当我们...

artf

感谢你的报告@yadavAtIrisdame但我无法从你的演示或官方演示中复现。你能描述一下具体步骤吗?

yadavAtIrisdame

@artf 我无法重现这个bug。大多数情况下,《风格经理》的运作如预期般顺利。但突然间,他们开始表现得像(如图所示)。特别是边际和缓冲性质。 ![](https://user-images.githubusercontent.com/97948548/153704600-39c7336b-4837-444d-8b8c-fd48b9cb6c74.gif)

artf

抱歉,但很遗憾,没有合适的可复现演示,我帮不上什么忙。 如果有人能提供可重复的步骤,我很乐意帮忙解决。

#41362022年2月9日作者 m-jojo-s2 个回答
1 个反应

在“component:mount”中的component.remove()不会移除渲染后的视图

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 98.0.4758.80(官方构建)(arm64) 可复制演示链接 https://jsfiddle.net/Lsjhxczp/10/ 描述一下那个虫子 如何复现这个漏洞?设置组件:挂钩以移除已安装的组件添加新块/组件 预期的行为是什么? 新组件会被移除,模型和视图都被移除。 目前的行为是什么? 只有模型被移除,视图保持原位,移除后不会重新渲染。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js editor.on('component:mount', component => { 如果 (component.is...

artf

是的,问题在于DOM节点已经创建,但还没有附加到父节点上。你可以通过setTimeout推迟移除,但这仍然会触发图片激活。 节点被附加后我可能会移动那个事件。

ClaudeCode

谢谢你报告,@m-jojo-s。 关于 component.remove() 在 'component:mount' 中不会移除渲染视图,这个问题很棒。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () =>...

#41272022年2月5日作者 jcsofts1 个回答
0 个反应

[X] 我确认使用最新版本的GrapesJS

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 97.0.4692.99(官方版本)(x86_64) 可复制演示链接 不 描述一下那个虫子 如何复现这个漏洞?...... 预期的行为是什么? ... 目前的行为是什么? 在自定义代码组件中使用iframe时会出错 我把这个<iframe style=“border:none;width:100%;height:100%;overflow: hidden;” src=“https://www.google.com”></iframe> 添加到自定义代码组件,然后点击“保存”按钮 然后我遇到了低于错误的错误 ![图片](https:...

ClaudeCode

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

#41162022年2月1日作者 saudAtIrisdame4 个回答
0 个反应

Flex Property 在样式管理器中无法正常工作

葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 1.34.81 Chromium:97.0.4692.99(官方构建)(64位) 可复制演示链接 https://codesandbox.io/s/strange-sun-qgdcq?file=/index.js 描述一下那个虫子 ![Flex属性](https://user-images.githubusercontent.com/81280927/151975071-f2b3cf48-4e1d-40f2-9248-467333d7e807.gif) 如何复现这个漏洞?创建自定义类型组件将组件放入 Canvas在样式管理器中将显示属性设置为...

Vac1911

我是在独立发现同样问题后才诊断出问题的。 正在查看“StyleManager.select()” https://github.com/artf/grapesjs/blob/75cd582a8d1a91096276bc4dccc7475a269ad45c/src/stylemanager/index.js#L339-L395 在第369行,每个属性都会被循环检查其对新目标的可见性。 然而,“checkVisibility”函数并不会通过查看目标样式来访问当前值。它会寻找存储...

saudAtIrisdame

@Vac1911 @artf 我明白了,但解决办法是什么?我该怎么解决这个问题?这是Grapej的问题还是我的?

Vac1911

@saudAtIrisdame 这似乎是葡萄的问题。我自己解决了,改了源代码,重新排序了“select”方法,最后检查可见性。 这是运行“build:js”后获得的dist文件 https://gist.github.com/Vac1911/4c89f2a48809bee5fefd2d21525d37ad “''js select(target, opts = {}) { cont { em } = this; const trgs = isArray(target) ?目...

#41102022年1月28日作者 cusmai3 个回答
0 个反应

资产管理事件无法正常工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 匿名 描述一下那个虫子 资产管理事件不会被触发。文件上传正确,但事件未被通知: “''js 资产事件监听者 Editor.on('asset:upload:start', () => { 上传已经开始 console.log(“上传开始”); }); editor.on('asset:upload:end', () => { 上传已结束(无论是否完成) console.log(“上传结束”); }); editor.on('asset:upload:error', (err) => { 错误处理 }); editor.on('as...

timramseyjr

@cusmai 你后来弄明白了吗?我看到了“资产:开放”和“资产:关闭”,但也没有收到你列出的任何事件。 我使用的是以下内容,我提到的两个事件是我唯一相关的“资产”事件。

ALTITUDE-DEV-FR

我自己也一样,没工作到:(

ClaudeCode

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

#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(...

#40942022年1月22日作者 sridhar3914 个回答
0 个反应

在Chrome的编辑器中拖放块时,无法拖放块块

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 97.0.4692.71(官方构建)(64位) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?在编辑器中拖放基本方块 预期的行为是什么?在编辑器中拖放基本方块,编辑器中应该会显示 目前的行为是什么? 在编辑器中拖放基础方块,无法拖放方块 在我们的项目中,在编辑器中拖放基础块时,无法拖放块 在Firefox浏览器中,编辑器中基本方块的拖放操作正常工作 https://user-images.githubusercontent.com/17172525/150640943-5cb5...

artf

我这边没看到问题(最新版 Chrome)。

sridhar391

@artf 我们使用的是 Ubuntu 操作系统,配备了最新版本的 Chrome 浏览器,请给我们举个拖放功能调试示例,并告诉我们拖拽时是否调用了回调函数

Vac1911

我也在用Ubuntu + Chrome,演示版、文档里的示例和本地安装版本都遇到同样的问题。这是我收到的错误信息: 注意:无论我丢弃哪个方块,错误都是一样的 https://github.com/artf/grapesjs/blob/30bb15b71db1b38efadef8500fb70c80821a1dd3/src/dom_components/view/ComponentImageView.js#L32

#40832022年1月20日作者 henzigo4 个回答
1 个反应

Set root 不起作用

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/grapesjs/pull/1185#issuecomment-395967321)描述的设置编辑器的根组件。不幸的是,这方法不行,我可以编辑所有HTML内容。 谢谢你的建议,或者帮我修复那个bug:) 如何复现这个漏洞?创建包含一些 div 的 HTML将“id”或“class”设置为你想作为根层的某个div将该“id”设置为“init”方法的根元素: “...

artf

是的,LayerManager模块本身没有任何文档。确实,它正在等待重构的名单上,一旦完成,我们可以发布更多关于其使用情况和API文档的内容。 无论如何,我看到你之前说过你想用我的演示示例,但用倒置逻辑(只启用已知的部分)。嗯,我试过了,但不幸的是,我之前发现了一些需要修复的问题。一旦下一个版本准备好,我会发布演示示例。

artf

是的,我看到了LayerManager里根配置的问题。临时的解决办法是触发图层面板渲染时的根更改: “''js editor.on('run:core:open-layers', () => 编辑器。Layers.setRoot('#editable')); ``` 不过,LayerManager的根节点并不决定你的组件是否可编辑,它在这里的作用只是在LayerManager界面面板里更改根节点。 如果你需要禁用模板的部分内容,这大概就是你要找的:https://jsfid...

henzigo

谢谢你的回答。如果能有一些关于“根”元素的文档说明会更好,因为只有在PR/issue里才会提到。

浏览所有主题