GrapesJS 问题

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

找到 220 个问题

🔍 canvas
#31912020年12月18日作者 echobinod2 个回答
1 个反应

如何识别哪个块被拖入画布?

我想补充一个小的“if”条件,比如: 如果(块1被拖拽){ 表演模态 }

artf

你可以使用“block:drag:stop”事件 “''js editor.on('block:drag:stop', (component, block) => { // ... }) ```

ClaudeCode

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

#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)——这有助于团队更快识别...

#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)——这有助于团队更快识别...

#31662020年12月1日作者 nanaya14 个回答
0 个反应

复制粘贴节点的问题

*版本:0.16.27 你能重现演示中的bug吗? [ ]是的 [ ] 不 预期的行为是什么? 在右侧面板和画布中,粘贴的节点应该在复制的节点之后。 目前的行为是什么? 我复制一个节点。在views-container(右面板)中,粘贴的节点位于复制节点之后。但在画布中,粘贴的节点位于复制节点之前。如下所示: ![图片](https://user-images.githubusercontent.com/22161888/100718588-7c945780-33f6-11eb-9f8d-ef17fc192031.png) 详细描述那个漏洞 当 html 标签之间存在空格或回车时,就会出现这个错误。 因为在'grapesjs/sr...

artf

我试过本地设置,但节点位置是正确的。你能制作一个现场演示吗?

nanaya1

抱歉,我没有详细说明发生这个错误的具体情况。 Grapesjs自带的组件不会出现这个错误,因为它们没有空格、回车或制表符。 我在定制组件时遇到了这个问题。 我自己定制了很多组件,有些会遇到这种情况。 发现该问题的自定义组件节点初始化示例如下。 如果你想在 grapesjs 默认组件中重现这个问题,可以通过 f12 元素的“Editor as HTML”输入节点间空格。具体如下。 ![live_demo](https://user-images.githubuserconte...

nanaya1

@artf我不小心关闭了问题。

#31532020年11月23日作者 excitedbox2 个回答
0 个反应

FEAT:添加动态数据块

我自己也在考虑做这个,因为这个问题被要求很多次了,我想问问这个项目是否已经在进行中,如果没有,也许大家愿意给点建议。 我想象的它的运作方式有点像一个带有容器块的表单,定义数据源、获取密钥的方法(post/get),以及它是一次性数据项还是循环项,比如列表或一组卡片。然后你会插入一个动态模板块,里面有数据项的占位符,定义了列。对于列表,它代表一行,对于一组卡牌,则是一个卡块,内容被列ID替换。 这还可以用于设置表单的默认值,将表单响应处理到数据库中,并开启许多其他内容可能性。 我的问题是我是否应该使用模板引擎来简化操作,但那需要额外的依赖。是否可以在从主侧边栏拉取组件时创建一个子画布来创建模板?我应该把数据库脚本分开,而不是用存储管...

artf

这些事情可以通过插件来实现,但我无法回答你的问题,完全离题了,找到正确答案取决于你的知识(可以试着在StackOverflow上问问)。

ClaudeCode

谢谢你举报,@excitedbox。 安全和依赖性问题很重要。GrapesJS 团队积极致力于保持依赖系统的更新。 为你现在: 运行“npm审计修复”以查看可用的补丁 查看是否有更新的GrapesJS版本,可能已经解决了这个问题 如有稳定版,升级前先测试最新稳定版 如果漏洞非常严重,可以使用“npm audit fix --force”,但请务必彻底测试 理解风险: 在GitHub安全公告中查看具体漏洞详情 并非所有高严重性问题都会影响你的代码路径 某些漏洞仅在特定条件下触...

#31402020年11月13日作者 ZeroCoolHacker2 个回答
0 个反应

画布中的交互组件

我正在用 Grapesjs 开发一个测验生成器插件。我在想我们是否可以添加一个组件,它是交互式的,点击后会添加新的组件。 例如: ![图片](https://user-images.githubusercontent.com/18724529/99068996-56d21a80-25cf-11eb-8aa7-29ca26ac4e6c.png) 大概是这样的。当丢弃时,没有输入,但点击“添加新字段”时,输入会出现。 可能吗?怎么做?

artf

你必须[扩展自定义组件的视图](https://grapesjs.com/docs/modules/Components.html#view)

ClaudeCode

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

#31342020年11月11日作者 josfh20054 个回答
0 个反应

当我尝试拖动最后几个部分的元素时,画布滚动到页面顶部

版本: 0.16.27 你能重现演示中的bug吗? [X] 是的 [ ] 不 预期的行为是什么? 当我尝试拖动组件时,画布不应该滚动到页面顶部。 详细描述那个漏洞** 每当我尝试拖动页面最后部分的组件时,画布就会滚动到顶部。有时候第一次就会出现,但有时候总是这样,可能和元件类型有关。

artf

你好,José,你能提供你问题的截屏吗?我试过拖动模板的最后一部分,但对我来说一切正常

josfh2005

你好@artf, 你可以在这里看看,https://recordit.co/vn1ZVN6J1N 不是在各个部分,任何元素都会这样,但只有第一次尝试拖动时才会。

artf

啊,明白了,只是第一次,我现在也👍拿到了

#31302020年11月10日作者 jenter4 个回答
2 个反应

标准方法:对HTML工具栏和徽章进行轻微重构

版本: '0.15.10' 这个问题旨在验证是否有合适的方法通过自定义插件扩展当前 https://github.com/artf/grapesjs/blob/master/src/canvas/view/CanvasView.js。我们特别回顾了该文件中的“render()”方法,以稍微修改HTML以结合工具栏和徽章,实现该UI设计: ![图片](https://user-images.githubusercontent.com/1368216/98736636-12e2d980-2373-11eb-8871-7ac45dcdae3e.png) 过去,我成功地用编辑器扩展了命令。Commands.extend('select-c...

artf

你好@jenter,好问题。不幸的是,我从未真正关注过画布扩展或其界面元素的可能性,所以肯定没有绝对正确的做法。 如果有人愿意提出解决方案,我很乐意帮你评估。

jenter

@artf我会审阅一些提案/想法并加入这个帖子。

artf

太好了,谢谢你,Jason

#31262020年11月9日作者 mohd74694 个回答
0 个反应

视频投掷错误

点击上传按钮时侧面预览正常,但点击那个视频预览时会报错,其他图片都无法正常工作,我需要在Canvas中显示视频,比如显示类似主体的图片 ![动图](https://user-images.githubusercontent.com/12613564/98598005-a24ca600-22fb-11eb-867e-95dc66a6f5a5.gif) 这就是我正在做的 ![图片](https://user-images.githubusercontent.com/12613564/98591110-96f47d00-22f1-11eb-9520-8c201f0b27d8.png) ![图片](https://user-images....

mohd7469

@artf你能告诉我,我该如何上传和预览视频文件,而不是图片?

ZeroCoolHacker

@awais786327我上传不同资源时也很吃力。也许这能帮到你。 https://grapesjs.com/docs/modules/Assets.html#uploading-assets

ZeroCoolHacker

@awais786327我看过那个网站,似乎你需要在视频标签里加上'autoplay=“true”才能播放

#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

浏览所有主题