GrapesJS 问题

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

找到 466 个问题

🔍 components
#35862021年7月2日作者 jcsofts4 个回答
3 个反应

如何聆听组件在组件中的变化。

init() { this.listenTo(this.model,'change:components', this.handleComponentsChange); }, 我开发一个组件,尝试监听子组件的变化,然后添加上面的代码以查看初始化,但添加/移除组件时函数没有触发。 我该如何在组件视图中监听组件的变化? 谢谢

dm-siegel

我也没能让这个方法正常工作。设置 listTo 时错误读取 components()。初始化时标签是空的(里面没有内容),所以这很合理。 算了......我是在模型的初始化中操作,而不是视图。 “打字稿” init() { const children = this.model.components(); this.listenTo(children, 'add remove', this.handleComponentsChange); }, ``` 在我把它放到正确的初...

anlumo

组件收集不会改变,这也是为什么没有触发事件的原因。 存储后端是一个骨干集合,详见[这里](https://backbonejs.org/#Collection)。你必须听它的事件,特别是“添加”和“删除”。

artf

正如Andreas已经提到的,你必须为收藏添加一个听众。 “''js init() { const children = this.model.components(); this.listenTo(children, 'add remove', this.handleComponentsChange); }, ```

#35792021年6月30日作者 mcottret4 个回答
2 个反应

在放置“activeOnRender”组件后立即打开RTE时丢失了

版本: 0.17.4 你能重现演示中的bug吗?[x] 是的[ ] 不 繁殖步骤:前往[演示](https://grapesjs.com/demo.html)在画布内放置一个“文本”方块点击刚刚丢弃的“文本”组件打开的RTE丢失了位置(参见[附图](https://user-images.githubusercontent.com/9916749/123977724-89465180-d9bf-11eb-9e99-d1b1f9cb897c.png)) 预期的行为是什么? 打开的RTE应正确定位 目前的行为是什么? RTE位置不对,它隐藏了“文本”部分的内容,可能妨碍编辑(尤其是使用像CKEditor这样较大的自定义RTE时)。 这...

artf

是的,我想你说得对。实际上,在没有选择组件的情况下激活RTE其实没什么意义(可能对所有其他“可激活”的方块来说都合理)。

gustavohleal

嗨。我和@ronaldohoch找到了一个解决这个问题的办法。 当 RTE 启用时,我们会触发滚动事件。 这是代码: “JavaScript 触发Canvas上的滚动事件,使得葡萄 正确修复CKEditor位置 editor.on(“rte:enable”, () => { editor.trigger('canvasScroll'); }); ```

ronaldohoch

你好,刚刚更新了提交 bb4a661 的文件,我觉得非常接近,我用的是 grapesjs-ckeditor 代码和 RTE 的第一次打开,its 放置正确: ![图片](https://user-images.githubusercontent.com/2287371/129779602-382fcbd7-2ecb-4c20-8302-d767f52a5066.png) 但第二次打开时,又放错地方了...... :/ ![图片](https://user-images.gi...

#35782021年6月30日作者 jcsofts2 个回答
0 个反应

版本0.17.4 尝试向主体添加背景图像时缺少组件

我补充道 domComponents: { storeWrapper: 1 }, 初始化网页编辑器时,启用将背景图像添加到正文中。 使用本地storageManager时工作正常,但使用远程storageManager时所有组件丢失 以下是数据 {“type”:“wrapper”,“droppable”:“.container”,“attributes”:{“id”:“izmf”},“components”:[{“type”:“container”,“classes”:[{“name”:“container”,“active”:false}],“attributes”:{“id”:“iboj”},“components”:[{“t...

artf

你好@jcsofts如果本地存储正常,而你的远程存储却不行,那很可能是你终端端操作有问题。 没有可复现的例子我帮不上忙,只能建议你严格按照这个[指南](https://grapesjs.com/docs/modules/Storage.html)。

ClaudeCode

谢谢你举报,@jcsofts。 感谢你分享关于版本0.17.4在尝试给身体添加背景图像时缺少组件的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和...

#35752021年6月28日作者 jcsofts3 个回答
0 个反应

Grapes.min.js:2 未捕获类型错误:无法读取未定义的属性“长度”

我添加 <iframe src=“https://app.conversiobot.com/boot/fvMEvO” width=“100%” height=“500” frameBorder=“0” allow=“geolocation”></iframe> 使用了自定义代码组件。 我的代码在0.17.4时运行正常,但在0.17.19时错误率低于 grapes.min.js:2 未捕获类型错误:无法读取未定义的属性“长度” 在r.loadTraits (grapes.min.js:2) 在r.initTraits (grapes.min.js:2) 在r.initialize (grapes.min.js:2) at r.e.m...

artf

感谢你的报告,修复已经准备好下一次发布。

rahul-singh-bv

我在v0.19.5尝试在自定义代码块内添加iframe时也遇到类似问题

ClaudeCode

谢谢你举报,@jcsofts。 错误 TypeError:无法读取未定义的属性“长度” 发生在 Canvas 尝试访问属性时,尚未完全初始化组件生命周期。这是GrapesJS中常见的竞争条件。 立即解决办法: 如果你控制代码,可以用空检查包裹调用: “JavaScript if (component && typeof component.method === 'function') { 你的准则 } ``` 根本原因分析: Canvas 在调用你的方法之前不会验证状态。当...

#35742021年6月28日作者 alpha2k-io3 个回答
0 个反应

添加特质不会被特质管理器识别。

以下是[docs](https://grapesjs.com/docs/modules/Traits.html#add-traits-to-components)的示例。 有没有进一步的配置可以让元素的新特质显示? 使用输入的示例无法运行,我的ID被接收了,但额外的属性没有。 “''js 试着添加特质 编辑。DomComponents.addType('ol', { isComponent: el => el.tagName == 'OL', 型号:{ 默认值:{ 特质:[ { 类型:“select”,// 性状类型 标签:“类型”,// 你将在设置中看到的标签 name: 'type', // 用于组件的属性/属性名称 选项:[...

artf

我能正确看到你的例子,所有特征都正常工作。你能制作一个可重复的演示吗?

no-response[bot]

由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。

ClaudeCode

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

#35732021年6月27日作者 jasminder2 个回答
0 个反应

每个组件的重复控件

版本: 0.17.17 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 它不应该显示重复的控制。 目前的行为是什么? ![db](https://user-images.githubusercontent.com/1322355/123553458-e44a2f80-d798-11eb-8373-af205370e8e8.JPG) 详细描述那个漏洞 不知为何,我用原版设置的GJ时会出现重复控制。 你能附上截图、截屏或实时演示吗?**[x] 是(附上)[ ] 不

artf

把这个添加到你的初始化配置文件中,以移除默认属性'styleManager: { clearProperties: 1 },'

ClaudeCode

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

#35692021年6月26日作者 sktlmarat1 个回答
0 个反应

当子组件被删除时,移除包装器

嗨! 我创建了一个DOM组件 我在想,删除子文本组件时是否可以删除 div 封装器。我试着用拆掉的钩子来做,但没能找到正确的解决办法。 谢谢!

ClaudeCode

谢谢你举报,@sktlmarat。 感谢你分享关于删除子组件时移除包装器的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。Grape...

#35652021年6月24日作者 Ubanna2 个回答
0 个反应

在 React 中为多页面管理器定义

你好,请问在 React 应用中实现多页面管理器的最佳方式是什么? 我成功实现过,没有页面管理器,比如这样: 对于页面管理器的实现,我尝试了以下方法: 在这里,页面管理器的定义不明确。 非常感谢任何帮助。 谢谢

artf

我觉得你只是用了旧版的GrapesJS

ClaudeCode

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

#35642021年6月24日作者 theSC0RP4 个回答
0 个反应

无法刷新iframe

0.17.19 你能重现演示中的bug吗? 是的 预期的行为是什么? 我之前问过一个关于iframe刷新(#3413)的问题。[提案的解决方案](https://github.com/artf/grapesjs/issues/3413#issuecomment-831892231)在该版本(0.17.3)中是正常工作的,运行代码后,iframe应该会刷新,画布也会显示出已有的组件和样式。 详细描述那个漏洞 我在控制台第97行出现错误,显示“无法读取未ComponentView.js定义的属性'移除'” 目前的行为是什么? 在控制台运行代码后,画布不再可见,而上述错误在控制台上依然存在。 你能附上截图、截屏或实时演示吗?* 截图*...

artf

我需要确认他为什么还在试图移除那个框架,但现在,直接跳过这句“frameView.remove()”吧。

theSC0RP

@artf。谢谢。这方法只做一次就有效。 如果我在画布里做点点击,然后再运行'frameWrapView.render();',又会报错。截图和视频附在下方。 <hr> https://user-images.githubusercontent.com/30771519/123492864-5ce5aa80-d638-11eb-984e-1807614a3bfb.mp4 ![截图来自2021-06-26 04-37-24](https://user-images.githu...

artf

我会尝试在下一个版本修复,但目前你需要在“frameWrapView.render()”之前取消选中组件,渲染后再重新选择组件

#35622021年6月23日作者 MarksEliel2 个回答
0 个反应

如何编辑数据属性

有没有可能编辑组件上的数据属性?

artf

是的,请查看文档并遵循问题模板

ClaudeCode

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

浏览所有主题