GrapesJS 问题

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

找到 877 个问题

🔍 question
#31232020年11月9日作者 fq-selbach4 个回答
1 个反应

功能:在样式管理器中为显示选择器添加“inline-flex”

你想给GrapesJS添加什么? 显示风格“内联弹性”。 描述: 目前,样式管理器的显示选择器只有“flex”作为选项,但与“block”和“inline-block”一样,有“inline-flex”是有用的。 当我尝试用这个(破解?)手动添加时: 我能得到结果,但有很多由“flex”触发的条件运算符在“inline-flex”下不会触发,比如样式管理器的“Flex”部分不会出现。 最新版本有替代方案吗? [ ] 是的(描述另一种情况) [x] 不 这是否与某个问题有关? [ ] 是的(请提供本期链接) [x] 不

lexoyo

对于想找解决方案的人,我通过修改StyleManager选项是没做到的 所以[这是我做的](https://github.com/silexlabs/silex-lib/blob/817174ef6ca9f9875c679748d5f017152ceaca0a/src/ts/client/grapesjs/flex.ts#L43) “''t” const sector = 编辑器。StyleManager.getSector('flex') sector.on('chang...

artf

抱歉@fq-selbach,但这本可以通过插件处理,核心库里没必要有这个逻辑

fq-selbach

@artf好的,但你能告诉我怎么控制样式管理器的“Flex”类别吗?因为显示/隐藏的逻辑似乎是硬编码的 :-/ 我可以用插件在“显示”选择器里添加“inline-flex”......但当选择时,它永远不会显示“Flex”类别。 或者你能不能教我怎么让“Flex”类别始终显示,而不是被“Display=flex”控制?

#31212020年11月9日作者 sadtaco1 个回答
0 个反应

专长/议题:CSS标准

我会说这既是功能请求,也算是个问题。 我觉得一个2015年以后几乎所有项目都用px的项目看起来很糟糕。 人们使用的屏幕尺寸在最窄的范围内只有768像素,无论是移动端还是桌面端,甚至2160p及更大。 “像素”测量对此不利。 这样的工具是为非技术人员设计的,他们不会理解屏幕上像素测量看起来正常的东西,但并非所有屏幕上都正确。 最像GrapeJS的就是 carrd.co 对吧?在那里,他们实际上只是用一些随意的“尺寸”测量,然后内部转换,这样最终用户就无法做出愚蠢的操作。 我的建议: 去除控件界面中的px,以及GrapeJS本身样式中的CSS。新默认用vmax、rem和/或%替换。 是的,通常有百分比和/或EM和REM的下拉菜单,但p...

ClaudeCode

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

#31202020年11月8日作者 mohd74692 个回答
0 个反应

查看代码按钮的问题

我想让设备和菜单按钮都放在同一个面板上,但问题出在查看代码按钮上 如果我移除 'panel.render()' 设备按钮 就会消失 如果我不移除“panel.render()”,查看代码就无法使用 我到底哪里做错了? ![图片](https://user-images.githubusercontent.com/12613564/98472369-6be82b80-2214-11eb-9933-ead334d82654.png)

artf

检查一下[Panel API](https://grapesjs.com/docs/api/panels.html#panels),你用得完全错误......

ClaudeCode

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

#31192020年11月6日作者 makkaronis4e4 个回答
0 个反应

如何用葡萄的组件制作自定义方块?

你好,我想用 Grapesjs 的组件制作自定义方块。 我找到了添加组件的解决方案:https://github.com/artf/grapesjs/issues/1334#issuecomment-411519845 但我在添加 CSS(无论是字符串还是对象)时遇到了困难。

artf

你应该能做到类似这样的操作: “''js ... 组成要素: [ { 标签名:'h1',组件:'Some <b>content</b>', }, “<style>......”</style> ] ```

makkaronis4e

@artf谢谢,它能用,但我发现了bug。 当你把这个块放到画布上时,它能正常工作,但如果你从画布中删除这个元素,或者清除整个画布,然后第二次把这个块放到画布上,它就会丢失CSS。第二次,第三次......没关系,如果你从画布中移除过元素一次,下一次掉落时它会失去样式。

artf

@makkaronis4e这种情况,我会请你做一个可复现的演示

#31172020年11月6日作者 zhiyuanzhang-unai2 个回答
0 个反应

如果类别中没有组件,如何移除该类别

我会在运行时根据下拉菜单构建自定义组件。当用户更改下拉菜单的选择时,相关自定义块会被添加,非相关块则被移除。 所有自定义方块按不同类别名称分组。 如果该类别中的所有方块都被移除,它会显示在屏幕上。 有没有办法移除某个类别?或者如果没有阻挡,它会自动被移除?

artf

尝试用新的块集合重新[render](https://grapesjs.com/docs/api/block_manager.html#render)块管理器

ClaudeCode

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

#31162020年11月6日作者 aadilmehrajbhat2 个回答
1 个反应

如何加载可以在代码查看器中查看并导出保存的CSS

嗨 :wave: 我正在尝试在编辑器中加载一些CSS作为主题的一部分,我能够在加载时链接样式表,但我遇到的问题是,当我直接用“<style>''标签加载样式时,我可以通过'editor.getStyle()'查看序列化版本,但'editor.getCss()'只包含'protectedCss'。 我对导出或在代码查看器中查看时,如何将CSS样式添加到模板样式“css”属性中感到困惑,也不太清楚如何操作那些非组件特定但通用的CSS规则。 我试着在文档里深入挖掘,特别是在“CssComposer”和“CssRule”里,但遗憾的是没找到太多线索。 我已经添加了一个codepen链接来演示我遇到的问题。 https://codepen....

artf

@AadilMehrajBhat 首先,'display: 'block' 不是该属性的有效 CSS 值(应该是 'display: block'),而且模板里没有用到 '.d-block',所以结果会自动通过移除未使用的样式来优化

ClaudeCode

谢谢你举报,@aadilmehrajbhat。 关于[求助] 如何加载既能在代码查看器中查看又能导出保存的CSS的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => c...

#31152020年11月6日作者 xinyufyj4 个回答
1 个反应

在Absolute/Designer模式下更改画布大小时,组件丢失的位置是错误的

警告 我改了画布尺寸,然后从块面板中放了一个组件。结果是,补偿职位是错误的。顺便说一下,编辑器现在处于“绝对/设计者”模式。 我看了掉落那部分的源代码。我发现compent拖拽起始位置并不是基于'editor'。Canvas.getFrameEl()'。那么,这样对吗?

xinyufyj

@artf好的,我提供一些截图来解释。抱歉我的英语不好。 ![图片](https://user-images.githubusercontent.com/7018771/98490960-40922a80-226e-11eb-9c45-998a1fa10916.png) ![图片](https://user-images.githubusercontent.com/7018771/98490964-4556de80-226e-11eb-9793-7e2819f878a4.p...

artf

你能现场演示这个问题吗?

artf

我关闭这个问题,因为我计划在这里解决所有与绝对位置有关的问题:https://github.com/artf/grapesjs/issues/3770

浏览所有主题