GrapesJS 问题

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

找到 336 个问题

🔍 style-manager
#41882022年3月9日作者 levinhtin1 个回答
0 个反应

SVG <linearGradient> 标签会<lineargradient>变成画布

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Microsoft Edge 版本 99.0.1150.30 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?我用SVG创建了一个自定义块,例如:当我把组件放进画布时,线性G渐变为线性g渐变。行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

谢谢你举报,@levinhtin。 关于SVG <linearGradient> 标签变成canvas中的,这个问题很棒<lineargradient>。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('...

#41872022年3月9日作者 Townsheriff1 个回答
0 个反应

编辑器销毁方法在 React 中会报错

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬98 可复制演示链接 https://codesandbox.io/s/withered-rain-z74rst?file=/src/App.js 描述一下那个虫子 如何复现这个漏洞?卸载子元素创建带有回调的 useEffect 编辑器被销毁 预期的行为是什么? 没有错误 目前的行为是什么? 掷出错误,因为找不到元素。至少 'getBody()' 返回 null。 分支0.18.3的堆栈追踪,禁用了minifaction。 如果代码沙盒消失: “''js 从“grapesjs”导入葡萄; 从 “react” 导入 React; 导出默认函数 App...

ClaudeCode

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

#41742022年3月3日作者 javadsamiee2 个回答
1 个反应

刷新页面 我们将失去主体/包装的背景颜色

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 98.0.4758.109 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?“正体(选定 #wrapper)->装饰 ->背景色和颜色保存更改后刷新页面 预期的行为是什么? 刷新页面后显示背景色,并保持背景色设置 目前的行为是什么? 身体没有背景,背景颜色设置为零 我检查了保存数据,发现我们保存了包装器ID及其样式,而刷新页面包装器后每次都会获得新的ID。 <img width=“936” alt=“image” src=“https://user-images.githu...

artf

你好@javadsamiee谢谢你的报告。这实际上是一个旧问题#2834,我正试图在下一个版本中解决它(我关闭本期,转而关注旧问题)。

ClaudeCode

谢谢你举报,@javadsamiee。 关于刷新页面我们将失去身体/包装背景颜色的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...

#41662022年2月26日作者 Ameeko1 个回答
0 个反应

打开样式管理器 - 类别可以通过按回车键添加

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v98 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 在“Open style manager”中,可以通过按下回车键添加CSS类。 如果 GrapesJS 在 Form 标签内,添加 CSS 类即可提交表单。 因此,这个函数在大多数情况下无法使用。 我觉得值得解决这个问题。 行为准则 [X] 我同意遵守本项目的行为准则

ClaudeCode

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

#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

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

#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) ?目...

#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)——这有助于团...

浏览所有主题