GrapesJS 问题

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

找到 877 个问题

🔍 question
#56312024年1月19日作者 Harshsne262 个回答
0 个反应

撤销管理器 add () 无法如预期工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 -- 描述一下那个虫子 如何复现这个漏洞? 我想在undomanager堆栈中添加一个更改。 'var components = 编辑器。组成部分; 编辑。UndoManager.add(components.getComponents().models);' 预期的行为是什么? 使用 um.add() 添加的更改应该是 ..当我点击撤销和重做时,这个变化也应该会显示出来。 目前的行为是什么? 该变更不会被添加。行为准则 [X] 我同意遵守本项目的行为准则

artf

@Harshsne26你需要提供一个可复现的漏洞演示

ClaudeCode

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

#56302024年1月18日作者 kla-ko2 个回答
0 个反应

配置 onStart() resize 回调可以防止调整大小

葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 120.0.6099.225 可复制演示链接 https://jsfiddle.net/wattnu/y8L6whun/ 描述一下那个虫子 如何复现这个漏洞?Goto jsfiddle运行代码在画布上,选择蓝色的div组件尝试拖动位于底部中央的调节把手调整大小手柄不会随着鼠标移动在 js 代码中,查看顶部的插件实现。看这里,看看这部分:注释 onStart 配置 ---> ''// onStart: (event, opt) => { console.log('resize started') } ,'''重新拉小提琴。现在可以调...

artf

说得好,我会修正的

ClaudeCode

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

#56212024年1月15日作者 ronaldohoch2 个回答
0 个反应

在空元素上显示占位符时,边界不被考虑

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Edge 最后版本可复制演示链接 https://grapesjs.com/demo描述一下那个虫子 如何复现这个漏洞?得到一个空元素增加高价值的双重边界。(20......30像素......)将任意方块移动到其中。![图片](https://github.com/GrapesJS/grapesjs/assets/2287371/5894b9b2-08c1-46f9-a62f-536e221839d1) 预期的行为是什么? 占位符应放在元素中心。 目前的行为是什么? 占位符显示在元素顶部,木板内侧行为准则[X] 我同意遵守本项目的行为准则

ronaldohoch

https://github.com/GrapesJS/grapesjs/pull/5622

ClaudeCode

谢谢你举报,@ronaldohoch。 关于在空元素上显示占位符时,边界未被考虑,这是个很好的问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somet...

#56182024年1月15日作者 Ashwinvalento3 个回答
0 个反应

导入时旧组件脚本不会被删除。导致脚本重复

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge v120.0.2210.121 可复制演示链接 https://codepen.io/ashwinvalento/pen/jOJMPqx 描述一下那个虫子 如果我们设置了 'config.parser.optionsHtml.allowScripts: true',并用脚本创建组件,那么当我们用 'grapesjs-preset-webpage' 插件导入代码时,脚本标签会被重复。 如何复现这个漏洞? 在演示链接(https://codepen.io/ashwinvalento/pen/jOJMPqx)将“重复脚本块”投放到画布上。(本组件...

artf

直接将 JS 导入为组件从来不可能,所以它被视为一个新的组件。

Ashwinvalento

有没有办法识别现有组件的脚本并在导入时删除它们?我们无法移除所有脚本标签,因为需要保留手动添加的脚本。

ClaudeCode

谢谢你举报,@Ashwinvalento。 关于导入时旧组件脚本不会被删除的建议很棒。导致脚本重复出现!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“ch...

#56132024年1月12日作者 SachinPuthiyoth1 个回答
0 个反应

StyleManagerConfig.sectors.properties 的类型定义错误

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 没有 描述一下那个虫子 如何复现这个漏洞?根据 https://github.com/GrapesJS/grapesjs/blob/5c890449a52f526bc480d6dc649ff5e01ec59140/src/stylemanager/index.ts#L310 中扇区的定义,属性类型为https://github.com/GrapesJS/grapesjs/blob/5c890449a52f526bc480d6dc649ff5e01ec59140/src/stylemanager/config/config.ts#L...

ClaudeCode

谢谢你举报,@SachinPuthiyoth。 关于StyleManagerConfig.sectors.properties的类型定义错误,这是个很好的问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.o...

#56072024年1月10日作者 Ju99ernaut2 个回答
0 个反应

无法扩展之前空过的图层

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v120.0.6099.199 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?将第1列方块拖到画布上将任何其他块拖入单元格,例如文本选择单元打开图层面板 预期的行为是什么? 我们应该能够展开单元格,并通过图层选择单元格内的元素 <img width=“1438” alt=“截图 2024-01-10 下午5:42 36” src=“https://github.com/GrapesJS/grapesjs/assets/48953676/043150f3-9c71-488...

artf

说得好,我会修好的

ClaudeCode

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

#55932024年1月3日作者 thigh4 个回答
0 个反应

图层管理器在页面切换时无法刷新

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? MS Edge 120.0.2210.91 可复制演示链接 无 描述一下那个虫子 如何复现这个漏洞?更新至最新Grapesjs版本建立一个多页项目注意当前层管理器的层级结构调用 pagemanager.select(pageId) 方法,针对当前选中的页面以外的其他页面图层管理器仍然反映上一页的层级结构,尽管页面管理器显示新页面当前为激活状态,画布正确渲染新选中的页面降级到 grapesjs v0.21.6,重复步骤 3-5。图层管理器会在每次选择不同页面时正确反映活跃页面的层级 预期的行为是什么? ...图层管理器应更新以反映活跃页面层级结构 目前...

artf

谢谢你的反馈@thigh会解决的

sunnynk19

你好,@thigh,看起来还是没用。你部署了最新的 npm 包吗?

artf

尚未出版,你可以在这里找到所有 https://github.com/GrapesJS/grapesjs/releases

#55842023年12月27日作者 vian0132 个回答
0 个反应

当所有组件都挂载到画布中时,“存储:结束:加载”事件不会触发

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v91 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? 最近我必须将 grapesjs v0.14.62 升级到最新版本(0.21.8)。在旧代码中,我们用“storage:end:load”来在所有组件都挂载到画布上后做一些操作。 但在当前版本中,它已经不再像以前那样工作了。正如我在文档中看到的,“storage:end:load”现在会在存储加载请求完成后立即触发。有没有什么方法或其他事件能达到和以前相同的效果? 目前我只能在“storage:end:load”里面...

artf

@vian013请只用可复现的演示链接打开bug问题,快速检查一下活动似乎正常运行

ClaudeCode

谢谢你举报,@vian013。 关于“存储:结束:加载”事件在所有组件都挂载到画布上时不会触发,这个问题非常好。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log(...

#55832023年12月26日作者 ronaldohoch4 个回答
3 个反应

在移动端版本中,无法用样式面板设置背景:无

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge 最后版本 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 如何复现这个漏洞?打开演示链接点击页眉 ![图片](https://github.com/GrapesJS/grapesjs/assets/2287371/c166b071-699d-4438-a3bf-0fb07607b45d)切换视图为手机或平板。尝试从头部移除背景。 预期的行为是什么? 那个编辑器把 background:none 的头部设置成了 “''CSS @media(最大宽度:480像素){ .header-banner{ 背景:无...

artf

这不是bug,而是缺失的功能,我们需要用新的配置扩展栈类型,以实现“空”值。 我会尽量在下一个版本里加入。

artf

de 属性 Background 中的清除图标会完全移除所选设备的属性,使其再次继承桌面设置中的值。 正确图层行中的清除图标会重置栈值,将所选设备的属性设为默认值,移除背景,且不会继承桌面设置。在同一个清除图标中再次点击,该图层会完全移除。 我不确定这是否完全是我想的,但想法是让它按原样工作,但加入一个额外的逻辑,当我移除最后一层时,如果存在新的属性(例如“emptyValue”),我会应用。 这是一种可能的属性类型 “''js emptyValue?: string |(...

gustavohleal

我已经为栈类型插入了一个解决方案。我打算创个人纪录,但我想先问你一件事。我现在补充的行为是: ![图片](https://github.com/GrapesJS/grapesjs/assets/22385451/31b5aa67-1de4-4430-a439-e41d6b1cbb21)层行中的清除图标会重置堆栈值,将所选设备的属性设为默认值,移除背景,且不会继承桌面设置。在同一个清除图标中再次点击,该图层会完全移除。de 属性 背景中的 clear 图标会完全移除所选设备的...

#55702023年12月20日作者 prateekkumar-ec3 个回答
0 个反应

导入按钮是从所有页面移除所有样式。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 最新版本 可复制演示链接 无(如有需要,我可以分享视频以便进一步交流) 描述一下那个虫子 如何复现这个漏洞?假设你当前页面上有一些内容,上面有一些样式。现在在同一项目中创建一个新页面。点击编辑器标题上的导入按钮,弹窗保持空,然后点击弹窗的导入按钮。现在去看看第一页。它会失去所有的CSS。 预期的行为是什么? 如果你在其他页面导入内容,第一页应保持不变。 目前的行为是什么? 一个页面的样式会因另一个页面没有导入任何内容而受到影响。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ```行为准则 [X] 我...

afrinxnahar

如果你能附上一个视频,那就太好了。我不太确定弹出窗口的空功能

artf

@prateekkumar-ec,这不是核心相关的问题。

ClaudeCode

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

浏览所有主题