GrapesJS 问题

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

找到 3,464 个问题

#31862020年12月11日作者 kuhelbeher2 个回答
0 个反应

按百分比调整大小

你好,当元素的尺寸设置为百分比时,出现了一个调整尺寸的bug: ![simplescreenrecorder-2020-12-11_15 46 17](https://user-images.githubusercontent.com/37115006/101912204-195eae00-3bca-11eb-9c8b-c202b61b9d1e.gif) 你可以在这里查看本期[https://codesandbox.io/s/grapes-resize-2ycel?file=/src/index.js]

artf

不是bug,只是我一直没怎么正确调整比例 🙃 如果能有永久居民就好了

ClaudeCode

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

#31852020年12月11日作者 Stiggi2 个回答
0 个反应

如何获得组件的模型特性?

你好, 我在TraitManager中添加了一个新的类型“array”。所以我可以添加几个子特征。有一点我必须检查模型的特征。我用的是这样的构造: 有没有更简单的方法可以直接从组件获取组件的模型? 此致敬礼, 迈克尔

Stiggi

比我想象的简单:) 'editor.getSelected().defaults.traits'

ClaudeCode

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

#31842020年12月11日作者 sathyanarayananaCES4 个回答
1 个反应

点击关于将 grapesjs-style-bg 插件集成到网页构建器的问题

我使用的是 GrapesJS 版本(0.16.27),并且在编辑器中集成了 grapesjs-style-bg 插件。功能完全正常。但点击背景属性的标签页时,问题就出现了。它立刻切换了标签页。 尤其是在选择渐变选项时,我已经集成了插件,正如本[问题](https://github.com/artf/grapesjs/issues/2858)中提到的。我不确定我是不是漏掉了什么。在GrapesJS的演示中运行得非常好。 分析时发现点击事件被触发了多次,有没有什么钩子可以让我们在style-bg插件里监听标签页的点击图标,或者请告诉我如何更好地解决这个问题 请参阅附带视频以获得更清晰的问题 [video.zip](https://gi...

artf

谢谢你发的问题视频,但这对解决问题毫无帮助。如果你做不到可复现的演示,我帮不上忙。

sathyanarayananaCES

感谢@artf观看视频,我会尝试制作一个可复现的演示并附上这里。

no-response[bot]

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

#31832020年12月11日作者 fzerman2 个回答
0 个反应

问题:如何创建新的自定义管理器?

你好,@artf, 我正在使用并开发葡萄树来做我的项目。我想添加一个新的管理器,让它叫“PackageManager”。不过,我找不到包含其他管理器的对象。 我如何将我的自定义管理器添加到葡萄?

fzerman

这期间,我尝试在 npm 上把我的自定义管理器添加到 grapesjs。 “''js 编辑/index.js ['Styles', 'StyleManager'], “设备管理器”, [“设备”,“设备管理器”], “PackageManager”,//此 ].forEach(prop => { 如果 (Array.isArray(prop)) { this[prop[0]] = em.get(prop[1]); 然而,我失败了。 这是我的测试代码: “''js 导出默认值...

ClaudeCode

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

#31812020年12月11日作者 congweibai2 个回答
0 个反应

SelectorManager 不返回字符串,而是一个对象

版本:0.16.30 你能重现演示中的bug吗? [1] 是的 预期的行为是什么?* SelectorManager.getState() 应根据 SelectorManager.getState() 返回字符串 https://grapesjs.com/docs/api/selector_manager.html#getstate 详细描述那个漏洞 ![截图 2020-12-11 上午9:48 43](https://user-images.githubusercontent.com/53634020/101841570-10ec8000-3b96-11eb-80d5-04d771fdb576.png) 目前的行为是什么? Se...

congweibai

你能帮我看看 https://github.com/artf/grapesjs/pull/3182 这解决了这个问题吗?谢谢

ClaudeCode

谢谢你举报,@congweibai。 SelectorManager 不返回字符串而是返回对象的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——...

#31792020年12月10日作者 TheEightArms4 个回答
1 个反应

AssetManager似乎是从缓存加载资产,但不会更新(问题)

你好, 过去几周我一直在尝试将Grapes整合到我的VueJs项目中,但我收到了一个关于资产管理部门的问题。 这就是我简单的assetManager配置,不知为何它会加载我两周前上传的另一张图片,无论我怎么尝试都无法更新。 如果我用assetManager.add('URL'),它会说getAllVisible是另一个,但什么都没有显示。如果我在添加 assetManager.render() 后操作,我收到的 HTML 元素只显示之前的旧图片。 有什么建议吗? 谢谢你 丹尼尔

gixid192

@TheEightArms 你可以在 [init 函数](https://grapesjs.com/docs/getting-started.html#start-from-the-canvas)中将 storeManager 设置为 false

TheEightArms

我发现它会从保存的代码和数据库加载资产,有没有可能告诉 StoreManager 不要加载资源? 谢谢

artf

你也可以避免从端点(加载组件和样式的地方)返回资产

#31772020年12月9日作者 anatoli-dp3 个回答
0 个反应

问题/功能请求:更改所选组件工具提示

通过API有没有办法更改所选组件工具提示,还是只能通过编辑源代码来实现?如果是关于API的,请多包涵,因为我不够聪明,无法有效更改源代码,每次尝试做其他修改时,使用修改后的框架都会出错。如果没有,请把这个功能加到一个新功能里,因为这对某些自定义公司来说会非常有用。

artf

你好,当你定义一个新组件时,可以自定义它的工具栏 “''js ... 型号:{ 默认值:{ ... 工具栏:[ { 属性: { 类别: 'fa fa-arrow-up', 命令: () => alert('Hi') }, ... ], } } 但不会被存储(比如页面刷新),所以我总是建议更多地以组件为导向思考。

anatoli-dp

谢谢,这对我想添加的一些内容帮助很大 使用。 2020年12月29日星期二下午1:01 Artur Arseniev <[email protected]> 写道: 关闭了#3177 <https://github.com/artf/grapesjs/issues/3177>。 — 你收到这个帖子是因为你写了这个帖子。 直接回复此邮件,请访问GitHub查看 <https://github.com/artf/grapesjs/issues/3177#event...

ClaudeCode

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

#31762020年12月9日作者 mcottret4 个回答
1 个反应

'setStyle' 和 'setComponents' 选项参数未被考虑

版本: 0.16.30 你能重现演示中的bug吗? [x] 是的 [ ] 不 繁殖步骤:打开控制台执行 'editor.setComponents('', {avoidStore: true});'执行 'editor.setStyle('', {avoidStore: true});'“存储......”日志依然存在(见附图) 预期的行为是什么? “选项”参数应被考虑。将“avoidStore”选项传给“true”,再传给“setStyle”和“setComponents”,应该能防止更新事件触发。 目前的行为是什么? “选项”参数未被考虑。传递“避免商店”选项无效,更新事件仍然会触发。 提出的解决方案: 很抱歉我之前在[PR]...

artf

谢谢@mcottret修复已经准备好,下次发布时会有修复

artf

不幸的是,由于初始命名不当,“avoidStore” 是用来跳过 UndoManager 而不是存储😁的 好消息是,为了修复 #3189,我不得不引入新的“noCount”选项,这样可以跳过编辑器更改计数器,也不会触发存储。 这个修复也促使我正确更新了 handleChanges 中的签名,使用 CssComposer,但我还需要修正其他几种方法才能让整个系统正常工作(包括你提到的那些)。 所以,在下一个版本中,这个功能应该会像你预期的那样运行,配合新的“noCount”...

mcottret

你好,@artf! 很抱歉重新提起这个问题,但“setStyle”问题似乎依然存在。 重新操作上述步骤,“存储......”当调用“setStyle”并使用“noCount”选项时,日志仍然显示。 我看到[已修复的“handleChanges”处理程序仍然使用“避免Store”选项](https://github.com/artf/grapesjs/blob/dev/src/css_composer/index.js#L130),但“避免Store”选项似乎也没用。 我没深...

#31752020年12月9日作者 mcottret2 个回答
0 个反应

选择和激活RTE在程序化移除组件时未被清除

版本: 0.16.30 你能重现演示中的bug吗? [x] 是的 [ ] 不 繁殖步骤:在演示画布中选择文本组件选择框和RTE出现打开控制台执行 'editor.setComponents('');'组件被移除,但选择框和RTE仍然存在(见附图) 预期的行为是什么? 当程序性移除带有活跃RTE的选中组件时,应清除该选中和激活RTE的组件。 目前的行为是什么? 组件选择和RTE在不存在组件上保持活跃。点击后元件选择会消失,但RTE不会,且会报错。 提议解决方案:当['ComponentTextView'的“onDisable”处理程序被移除时,执行该处理程序](https://github.com/artf/grapesjs/blo...

artf

感谢@mcottret报告。我自己处理过这个问题,应该会在下一个版本中修复,但一如既往,感谢你愿意帮忙:)

ClaudeCode

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

#31742020年12月9日作者 ThetripGr2 个回答
1 个反应

创建新的组件类型不会继承其父类型的函数

你好,我正在尝试通过创建以下插件来创建一个所有组件共享的新共同特性 在另一个插件文件中,我也按照文档的做法创建了一个新的组件类型,叫做“extendedText”,它以“文本”类型为基础。而文本类型则有如下所示的“handleBgColorChange()” ![图片](https://user-images.githubusercontent.com/65759874/101602916-837b2580-3a07-11eb-9c9e-dd6d2db1a9af.png) 从文本分支的新类型则不支持 ![图片](https://user-images.githubusercontent.com/65759874/101603067...

ThetripGr

算了,我仔细看了文档,之前没注意到关于扩展父功能的内容

ClaudeCode

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

浏览所有主题