GrapesJS 问题

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

找到 877 个问题

🔍 question
#36192021年7月13日作者 san-1231 个回答
0 个反应

如何添加视频上传并保存到后端?

你好,artf, 我已经实现了多张图片上传并保存到远程数据库。 就像如何上传单视频并保存远程数据库一样 因为每次我们都需要把所有视频放到远程文件夹,然后配置成视频标签的src。这需要很多时间 请指导我实现它。

ClaudeCode

感谢你报告,@san-123。 关于如何添加视频上传并保存到后台的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed'...

#36182021年7月13日作者 san-1232 个回答
0 个反应

样式管理器大小未设置为图像控制

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们 遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md 先快速搜索一下,看看有没有人没开同样的问题 所有相关陈述/问题都必须填写/回答,否则问题可能已结案 JSFiddle 入门模板 https://jsfiddle.net/szLp8h4n CodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗? [ ] 是的 [ ] 不 预期的行为是什么? 详细...

san-123

它的复制品

ClaudeCode

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

#36132021年7月12日作者 anlumo2 个回答
1 个反应

图像选择不一致

版本: 0.17.19 你能重现演示中的bug吗?[X] 是的[ ] 不 可重复[此处](https://grapesjs.com/demo.html)。 预期的行为是什么? 在资产管理界面中点击图片选择。 详细描述那个漏洞 目前的行为是什么?** 当你更改与图片组件关联的资产时,只需一键即可更改,然后点击X图标关闭对话框。 当你想更改与“背景图片”风格关联的资产时,单击不会改变任何东西,它只会在对话框中选择该资产。你必须双击它才能更改“背景图片”,这样对话框也会关闭。 这两种情况应该表现得相同。

artf

听起来很正规,下次更新会更新

ClaudeCode

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

#36122021年7月12日作者 TRIGGEREDcoder4 个回答
0 个反应

葡萄的滑块按钮和标签键都没有按预期工作

版本 0.17.19(grapesjs) 版本 0.1.5(grapesjs-lory-slider) 版本 1.0.6(grapesjs-tabs) 你能重现演示中的bug吗? 不 预期的行为是什么? 我应该能在点击前一、下一页按钮和标签名时,浏览不同的幻灯片和标签页。 详细描述那个漏洞 当我在模板中创建滑块,编辑不同的幻灯片并在 Grapesjs 上查看时,我就能浏览所有创建的幻灯片。同样地,在创建标签块后,我也能看到里面不同的标签和内容。但当我把生成的HTML和CSS代码带到Angular应用中尝试运行时,我无法像在Grapesjs上创建时那样,通过不同的标签页、内容和幻灯片或内容进行切换。 HTML和CSS由葡萄生成 [g...

artf

你能提供一个可复现的演示吗?

TRIGGEREDcoder

抱歉@artf,我遇到这个问题是因为生成的HTML里有脚本标签,而在Angular组件HTML中这个标签没有用。如果 HTML 包含脚本标签函数,我该如何使用 Angular 文件生成的 html?

artf

@TRIGGEREDcoder如果主要问题解决了,我就要关闭这个。如果你有问题,请开设一个新的讨论区

#36082021年7月9日作者 anlumo4 个回答
0 个反应

专长:禁用拖拽

你想给GrapesJS添加什么? 我已经实现了一个替代的文本编辑组件(不是基于RTE)。我希望人们能在这个组件中拖曳选择文本。 详细描述你的功能需求详细 问题是拖拽选择还会触发拖拽整个组件。我想只通过移动工具栏的项目来移动页面上的组件,以避免它干扰文本选择。 最新版本有替代方案吗? 我目前这样覆盖了拖拽: “''js element.addEventListener('dragstart', event => { event.stopPropagation(); event.preventDefault(); 返回false; },真); ``` 在视图的“init”函数中。这在 Chrome 上算是能用,但不总是有效,而且在 F...

iabhiyaan

“''js editor.on('component:drag:start', props => { const { target } = props; target.set({ 可拖拽:错误, 传播:['可拖拽'] }); }); ```

anlumo

这样不就禁用了所有拖拽,甚至是工具栏和图层管理器里的拖拽吗?

anlumo

我刚测试了,另一个问题是拖拽操作仍然吞噬事件,只是渲染了组件被禁用。

#36062021年7月9日作者 Palash-Mandal2 个回答
0 个反应

如果我用对齐浮子的浮点,不清楚,这就是设计问题发生的原因。

你好,@artf, 尝试用浮点表单对齐创建布局时,有一个通用的问题。 问题是浮点不会自动清除。 ![图片](https://user-images.githubusercontent.com/17553816/125087079-d32ee600-e0e9-11eb-8a08-15020c15b8fd.png) 当用户设置流值浮点(float left /right)时,我该如何在行中添加新类 '<div data-gjs-type=“default” draggable=“true” data-highlightable=“1” class=“row” id=“iroj”><div data-gjs-type=“default”...

artf

请遵循议题模板

ClaudeCode

谢谢你举报,@Palash-曼达尔。 关于如果我用对齐浮子的浮子,不清楚这就是设计问题的原因。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('so...

#36032021年7月8日作者 NoumanAhmad-Braqsol2 个回答
0 个反应

文本问题编辑。如果删除了文本,也不会再选择

首先,感谢你提供的@artf。因为我正在做一个项目。我在编辑文本时遇到了一个问题。如果我选择文本框并编辑文本,它就没问题“,但如果我删除所有文本,点击别处,再尝试选择文本框。但没用,因为空文字会隐藏,也没有再选中。如果我在DOM里检查,它存在<p><p>但空的。为什么它没有再次选择空?<p> 此外,我想在悬停时只选择文本框。我不需要先点击框框再编辑。我们能在悬停文本字段时自动打开CKeditor吗? 提前感谢大家

artf

我觉得更多是布局问题。由于该框没有文字,它会失去尺寸,所以很难重新启用。无论如何,你可以扩展文本组件,添加一些额外的样式,方便选择空置。 对于悬停,你需要扩展文本组件视图,并在悬停时绑定 onActive 方法。

ClaudeCode

感谢你报告,@NoumanAhmad-Braqsol。 关于文本编辑问题“的好问题。如果文本被删除,文本就不会再次选择。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console....

#36002021年7月7日作者 sathyanarayananaCES1 个回答
0 个反应

:图层管理器中可见性(眼睛)图标的事件监听器

我想听编辑器图层管理器里的眼睛图标,然后根据它来写自定义样式。我们有没有办法做到这一点? 我从[另一个问题](https://github.com/artf/grapesjs/issues/3154#issuecomment-733693886)中获得了代码,我想从这里扩展toggleVisibility方法。可能吗?如果是这样,我们该如何做到? 其次,我想在可视化图标变化时对所选元素写自定义媒体查询,怎样才能以最佳方式实现? 谢谢你

ClaudeCode

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

#35992021年7月7日作者 niranjank1512 个回答
0 个反应

@keyframes即使我通过关键帧对象后也没有添加

你好,@artf, 我已经添加了 '让CC = 编辑器。Css作曲家; cc.setRule('.fadetop-animate', { 不透明度:0,'animation-name': 'fadeTop' }, { atRuleType: 'keyframes', atRuleParams: 'fadeTop', 选择器:“to”, 风格:{ 不透明度:1 } });` 根据文件[](https://grapesjs.com/docs/api/css_composer.html#setrule) 但关键帧规则不会被添加到组件中。 如何为组件样式添加关键帧?

artf

用这个 “''js 编辑。CssComposer.getAll().add('@keyframes fadeTop { ... }') // 你的CSS字符串 ```

ClaudeCode

谢谢你举报,@niranjank151。 关于@keyframes即使我传递关键帧对象后也没有添加,这个问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => conso...

#35952021年7月6日作者 Palash-Mandal1 个回答
0 个反应

这是个通用问题,宽度和高度属性值设为自动,同时切换视图为移动端或平板视图。但自动属性在CSS中没有体现,这也是为什么桌面值存在,问题才会出现。如果我把宽度改成…

你好,@artf, 这是个通用问题,宽度和高度属性值设为自动,同时切换视图为移动端或平板视图。但自动属性在CSS中没有体现,这也是为什么桌面值存在,问题才会出现。如果我把宽度改成自动并按Tab/Enter,CSS里还是没有显示。 用例:切换平板/移动模式时,用另一个单元输入某个值,比如px,%在宽度/高度字段中,然后设置为自动。之后就行了。 所以基本上,用户不知道显示的值是auto,但其实不是自动,只是占位符,如果用户输入了同样的值auto,这也无法正常工作。 用户需要设置两遍该数值,它才会正常工作。 用例:用户需要设置两倍值 1.先设置一些px/%值,然后设置自动。 我的问题是现在我该如何保持桌面右侧面板中其他设备宽度高度部分的...

ClaudeCode

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

浏览所有主题