GrapesJS 问题

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

找到 545 个问题

🔍 typescript
#47432022年11月23日作者 JonathanRiche1 个回答
0 个反应

StylePrefix 属性不覆盖大多数元素中的 gjs 类

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 107.0.5304.107(官方构建)(64 位) 可复制演示链接 https://jsfiddle.net/jonrobert/2gLdur9c/3/ 描述一下那个虫子 如何复现这个漏洞?在运行 grapesjs.init() 函数时,修改配置选项中任一选项的 stylePrefix 属性 即 “''js layerManager:{ stylePrefix:'customStylePrefix' }, blockManager: { stylePrefix:'customStylePrefix' } 行为准则 [X] 我同意遵守本项目的行...

ClaudeCode

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

#47352022年11月17日作者 vaneatka3 个回答
0 个反应

ResetId类型不匹配

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 无 可复制演示链接 无 描述一下那个虫子 如何复现这个漏洞?.去 https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Component.js#L1839..去 https://github.com/artf/grapesjs/blob/dev/index.d.ts#L1747 预期的行为是什么? ...resetId 应声明为方法。 目前的行为是什么? ...在 类型中,resetId 是一个可被 bool 消除的属性行为准则 [X] 我同意遵守本项目的行为准则

artf

第一个是分量方法,第二个是块性质([此处使用](https://github.com/artf/grapesjs/blob/81295f637aa2542db9ba2aefb3ce34f0d6489d71/src/block_manager/index.ts#L166-L168))

vaneatka

我打开这个问题的原因是该方法不可见。 也许需要在类型中为方法声明创建一个新条目?比如setID /*在组件上设置新ID。 / setId(id: string): this;

ClaudeCode

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

#46912022年10月26日作者 DhanaDSP11202 个回答
1 个反应

撤销管理器——不正常工作,当我们尝试应用和撤销背景色时,会点击出块外,然后移除的颜色才会出现

撤销管理器——不正常工作,当我们尝试应用和撤销背景色时,会点击出块外,然后移除的颜色才会出现 这个问题在版本0.19.4到最新版本中都会出现,以下版本运行正常 复制链接 工作版本: https://jsfiddle.net/0vpbLmxy/ 无法正常工作的版本: https://jsfiddle.net/q3cgwa5m/1/ 演示: ![葡萄撤销了问题](https://user-images.githubusercontent.com/54067384/197989568-5b29f18e-cf93-4cd6-a6ad-bec0ddd283ad.gif) Originally由@DhanaDSP1120在 https://g...

artf

看起来是颜色选择器本身的问题,我会试着在下一个版本修复。 附注:对于错误报告,你不需要先创建讨论,你可以按照模板直接打开问题。这也能避免不必要的讨论帖。

ClaudeCode

谢谢你举报,@DhanaDSP1120。 感谢你分享关于撤销管理器——无法正常工作,当我们尝试应用和撤销背景色后点击出块时,移除的颜色才会出现。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配...

#46812022年10月21日作者 Aar-if3 个回答
0 个反应

资产管理器上传空对象到后端端点

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 可复制演示链接 匿名 描述一下那个虫子 目前的行为是什么? 我创建了一个自定义后端端点来存储我的资产,当我使用资产管理器的上传方法时,它没有向后端发送任何数据,而是发送一个空的对象,我在客户端检查器获取资产数据时也遇到同样的问题,同时在资产管理系统内使用 Axios 发送 资产管理人:{ 上传:“http://localhost:5002/api/grapesjs/assets”, }, 后端获得空物体 我也试过 资产管理人:{ 上传文件:异步 (e) => { var files = e.dataTransfer ?e.dataTr...

artf

抱歉,但仅仅尝试提交一个资源,我看到的负载是正确的,所以没有可复现的演示,这看起来是你后端的问题(确保有合适的身体解析器)。

Aar-if

谢谢,我用Multer解决了,问题出在身体解析器。

ClaudeCode

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

#46682022年10月18日作者 GoodPHP3 个回答
0 个反应

CKEditor5 + Froala + Tinymce6 转入 GrapesJS

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 描述一下那个虫子 CKEditor5: https://gjs.market/products/tinymce-6-inline-text-editor 弗罗阿拉: https://gjs.market/products/froala-inline-text-editor Tinymce6: https://gjs.market/products/tinymce-6-inline-text-editor 抱歉:) 行为准则 [X] 我同意遵守本项目的行为准则

micker

有趣的功能

GoodPHP

有趣的功能 谢谢 ✅

ClaudeCode

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

#46542022年10月11日作者 malonecj3 个回答
0 个反应

文本节点自定义组件,包含特殊字符

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v105 可复制演示链接 https://codesandbox.io/s/fancy-brook-ppyc8v?file=/index.js 描述一下那个虫子 背景: 我正在尝试配置 grapesjs,使其能够编辑包含 [Liquid 模板语言](https://shopify.github.io/liquid/)的标记。因此,我想创建两种类型的自定义组件。一个模板块,形式为“{{some_variable}}”一个条件块,形式为“{% 如果条件 .... %}” 自定义组件应配置为允许用户修改组件的某些方面。 然而,似乎在实现第二个...

artf

你好@malonecj我不太确定你具体如何期望看到和管理这些组件(尤其是当你在条件内组合模板时),但我觉得你目前在“isComponent”中的处理方式不太正确,因为你必须处理文本节点。 在你的liquidhandle 'isComponent'里,你用的是'el.textContent',我觉得这应该和liquid condition用'el.nodeValue'类似,因为它只在文本节点上可用(可能最好确认一下它是否真的是文本节点'el.nodeType === 3')。...

artf

我决定关闭这个,因为核心本身没有问题,如果你还有其他问题@malonecj告诉我。

ClaudeCode

谢谢你举报,@malonecj。 关于文本节点自定义组件,包含特殊字符的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行...

#46182022年9月26日作者 TanyaKulikovskaya2 个回答
0 个反应

没有哈希的颜色输入不会更新颜色选择器

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://codepen.io/ 描述一下那个虫子 用颜色输入配合哈希(十六进制颜色)时一切正常。 但是,如果我在输入中添加一个没有哈希值(只有数字)的十六进制值并按下回车键,颜色预览不会更新,但颜色会应用到页面上的元素上(但重新加载后元素的默认颜色)。行为准则 [X] 我同意遵守本项目的行为准则

artf

你好@TanyaKulikovskaya请提供一个可复现的演示,因为快速检查后,颜色选择器似乎没有哈希值

ClaudeCode

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

#46072022年9月23日作者 RomanGlazkov2 个回答
0 个反应

当带子元素移动时的 JS 错误

葡萄JS版本[x] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v104可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 如何复现这个漏洞?选择一个元素按住CTRL键,选择子元素尝试移动这些元素 预期的行为是什么? 编辑器不允许移动 目前的行为是什么? 搬家没有发生,但出现了 js 错误 ![偷看 2022-09-23 15-20](https://user-images.githubusercontent.com/66161402/191958965-85b27a78-9e0d-4598-9324-697d67aef2f2.gif)行为准则[X] 我同意遵守...

artf

我想我们应该避免一开始就选择已经选定组件的子节点。

ClaudeCode

谢谢你举报,@RomanGlazkov。 关于带子元素移动元素时出现的JS错误的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事...

#46012022年9月21日作者 bit-ocean4 个回答
1 个反应

在切换某些目标时,添加到样式管理器的自定义类型 update() 不再被触发。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬104 可复制演示链接 https://jsfiddle.net/aw8p0h9j/ 描述一下那个虫子 如何复现这个漏洞?打开 jsfiddle 链接。点击两个div之间,然后在任一div和背景之间点击。 预期的行为是什么? 在较早的 grapesjs 版本(0.17.26)中,更新会被触发,控制台记录点击,执行 update() 代码。 目前的行为是什么? 在 grapesjs 0.20.1 版本中,切换不同目标时更新不会触发,至少在 1 个目标之间是这样。组件无房产价值,2.组件价值相同,...... JS: “''js const edito...

ronaldohoch

和这里描述的一样,没问题:https://github.com/artf/grapesjs/issues/4350

artf

是的,但即使是自定义UI,如果值没变,更新也会被跳过,因为没必要。

bit-ocean

我粘贴的代码是用标准API,基本上是从文档里复制粘贴的。显然,更新的机制在不同版本之间已经发生了变化。 之前如果目标元素被更改,更新会被触发,我们可以运行代码在特定条件下重新渲染组件。@artf你现在会提出什么最佳替代策略?我应该添加自定义监听器来针对变更事件吗?你有什么建议的实现方式,才能确保更好地跟进Grapesjs的核心变更? 简而言之,当目标被更改时,我需要能够调用可调用的对象,同时获取并设置自定义类型输入的值。

#46002022年9月20日作者 Aventrue3 个回答
0 个反应

从 0.19 更新到 0.20 后,会出现错误:Cannot assign to only only 属性,object '[object Object]' 的默认值

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 镀铬 可复制演示链接 没有 描述一下那个虫子 ![图片](https://user-images.githubusercontent.com/17627637/191345937-46111515-ce5f-4cb4-a52c-e9300751717f.png) image.js: ![图片](https://user-images.githubusercontent.com/17627637/191346008-51a5519f-0a82-462e-9c00-904dc41602f8.png)行为准则 [X] 我同意遵守本项目的行为准则

collins-lagat

新闻稿中说有重大变更。试试看,看看问题是否会消失。我也遇到同样的错误,但还没试过修复方法。 https://github.com/artf/grapesjs/releases/tag/v0.20.1

artf

是的,正如发布说明中提到的,自定义组件注册必须从旧的遗留API切换。

ClaudeCode

谢谢你举报,@Aventrue。 从 0.19 更新到 0.20 后,出现“无法将只读属性 assign to read only”[object Object]' 的错误发生,这似乎是一个竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请...

浏览所有主题