GrapesJS 问题

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

找到 3,464 个问题

#43852022年6月15日作者 froodian2 个回答
0 个反应

Index.d.ts说执行命令应该返回 void,但文档说可以使用它们的返回值

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 https://grapesjs.com/docs/modules/Commands.html#stateful-commands 描述一下那个虫子 如何复现这个漏洞? 在Typescript设置中, “''t” 从“grapesjs”导入葡萄; export const ExportPlugin = (editor: grapesjs.编辑) => { 编辑。Commands.add(“render html”, (editor) => { 返回“<html><body>示例</body></html>”; });); };...

artf

谢谢@froodian我会更新他们的

ClaudeCode

谢谢你举报,@froodian。 关于index.d.ts的建议很棒,说执行命令应该返回虚无值,但文档说他们的返回值可能会被使用!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来...

#43842022年6月15日作者 froodian1 个回答
0 个反应

Index.d.ts说组件必须是Backbone.Collection,<Component>但文档上说Component[]也被接受

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 任何可复制演示链接 https://grapesjs.com/docs/modules/Components.html#component-definition描述一下那个虫子 如何复现这个漏洞?https://github.com/artf/grapesjs/blob/dev/index.d.ts#L2055 显示组件为“骨干。集合<Component>”https://grapesjs.com/docs/modules/Components.html#component-definition 显示了一系列组件的提供 预期的行为是什么? JS的实现示例...

ClaudeCode

谢谢你举报,@froodian。 关于index.d.ts说组件必须是Backbone.Collection,<Component>但文档说Component[]也被接受。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('chan...

#43832022年6月14日作者 Singwai2 个回答
1 个反应

在编辑任何文本组件时,插入两个空白时会注入一个“.”字符

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 双击任何文本组件 把光标放在单词之间 插入2个空白 预期行为: 插入2个空白 当前行为: 插入空白字符和“.”字符。 视频示例: https://user-images.githubusercontent.com/5863227/173638822-8a9243d9-d4ab-49d3-8f5f-a9aa4833c35f.mp4行为准则 [X] 我同意遵守本项目的行为准则

Singwai

这是macOS引入的行为,不是Grapesjs的bug。 https://howchoo.com/macos/disable-double-space-bar-period-dot-macos

ClaudeCode

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

#43762022年6月13日作者 iamqinglong2 个回答
0 个反应

未选中的自定义组件也会监听事件“styleable:change”

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬100 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?删除两个或多个自定义组件 <img width=“1230” alt=“截图 2022-06-10 下午3 11 54” src=“https://user-images.githubusercontent.com/48402616/173286267-09325ccd-6475-4b81-84ca-790a3f1b168b.png”>重新设计任一组件另一个未被选中的组件也会监听 'styleable:change' 事件 <i...

artf

你好@iamqinglong这是你在编辑器模型上创建监听器时预期的行为,但你可以通过这种方式检查所选组件 “''js init() { const component = this.model; this.listenTo(this.em, 'styleable:change', (args, property) => { if (editor.getSelected() === component) { console.log(args,财产); } }); } ```

ClaudeCode

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

#43712022年6月10日作者 clonefunnels4 个回答
3 个反应

所有编辑器在上次更新后都坏了,导致存储管理器坏了。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://www.teamfunnels.net/login.php 演示演示 描述一下那个虫子 请帮我理解如何修复这次更新导致的所有问题。我不明白为什么不让它和旧方式兼容。但请告诉我,这个例子我需要改动什么: storageManager: { 类型:“远程”, urlStore: 'save.php', urlLoad: 'load.php', storeComponents: true, // 启用/禁用以JSON格式存储组件 storeStyles: true, // 启用/禁用以 JSON 格式存储规则/样式 st...

Vac1911

@clonefunnels我做了一个快速函数,可以加载带有向下兼容的数据: “''t” async function load(editor: grapesjs.编辑) { const { Parser } = editor; const data = 等待编辑器。StorageManager.load({}); 如果 (data.pages) data.pages = [{ ID: '1', frames: [{ component: data.components ??...

Vac1911

@artf 快速补充说明:类型声明中应添加“editor.loadProjectData”

artf

请务必仔细阅读发布说明 https://github.com/artf/grapesjs/releases/tag/v0.19.4 https://github.com/artf/grapesjs/pull/4223#issuecomment-1152331298

#43702022年6月9日作者 Vac19113 个回答
0 个反应

LayerManager在StorageManager.load()之后变得无响应

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬102可复制演示链接 https://codesandbox.io/s/grapesjs-4370-niizlc描述一下那个虫子 如何复现这个漏洞?启用远程存储联系编辑。StorageManager.load(无论实际返回什么无关紧要)然后调用 editor.loadProjectData(加载什么数据无关紧要) 预期的行为是什么? LayerManager 会处理新的项目数据。 目前的行为是什么? LayerManager变得无响应。行为准则[X] 我同意遵守本项目的行为准则

artf

说得好,谢谢@Vac1911

zhangdongxu-web

我也遇到同样的问题,重新加载存储的数据后 LayerManager 变得无响应 只有一个 bodybox 怎么办呢

ClaudeCode

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

#43622022年6月2日作者 tuongnguyendev2 个回答
1 个反应

背景图片预览 显示错误链接

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 102.0.5005.61 可复制演示链接 https://jsfiddle.net/tuongnguyendev/25kcypuj/ 描述一下那个虫子 如何复现这个漏洞?画布上的一根柱子。选择组件测试背景 ![截图 2022-06-02 08 48 36](https://user-images.githubusercontent.com/16423468/171530144-7eb410a6-1f1a-41b8-a87f-f28efec0c6cf.png)装饰 => 背景 => 选择第一个物品背景 ![截图 2022-06-0...

tuongnguyendev

你好@artf 更新了#4350的新bug。 谢谢。

ClaudeCode

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

#43572022年5月31日作者 adiux2 个回答
0 个反应

在编辑器中,mj列的边框会显示两次

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 102.0.5005.61 可复制演示链接 https://codepen.io/adiux/pen/BaYrEXR?editors=1111 描述一下那个虫子 如何复现这个漏洞?在任何版本中添加 grapesjs-mjml 到 0.5.6 以上的项目中在截面上添加边框。例如:“<mj-column border=”4px 实心 #F45E43“>'用 grapesjs 打开 MJML 模板 预期的行为是什么? 仅显示一个边框: <img width=“792” alt=“image” src=“https://user-images....

adiux

抱歉,我刚意识到我发错了仓库。在 grapesjs-mjml 又引发了另一个问题。

ClaudeCode

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

#43562022年5月31日作者 Justin83032 个回答
0 个反应

选择器:移除事件不存在

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬101 可复制演示链接 https://jsfiddle.net/sdrf72wx/1/ 描述一下那个虫子 如何复现这个漏洞?在编辑器初始化时执行以下代码添加和移除组件的选择器查看控制台输出 预期的行为是什么? 如果组件选择器被移除,它应该会把选择器打印到控制台。 目前的行为是什么? 如果选择器被移除,控制台不会提示,因此“selector:remove”事件不会触发。 此外,“selector”事件只捕获“selector:add”和“selector:update”,但不捕获“selector:remove”,但在选择器管理器的[event](...

artf

你好@Justin8303“selector:remove”指的是全局选择器的容器,所以只有当选择器实际从全局集合中移除时才触发,而不是从组件中移除。当你从组件中移除选择器时,它依然存在,因为它可能也被用在其他地方。 如果你需要跟踪组件类的变化,我建议使用“component:update:classes”事件

ClaudeCode

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

#43522022年5月27日作者 rubjo3 个回答
1 个反应

添加挪威语

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v101 可复制演示链接 匿名 描述一下那个虫子 这不是bug,只是即将发布的挪威官方支持问题 行为准则 [X] 我同意遵守本项目的行为准则

rubjo

有人抢先我买了——时间太近了,好像还没正式发布。:)

ZaheerNiazi007

@rubjo i18n: { 地点:“En”, detectLocale: false, 消息添加:{ 英文:英文, }, }, 试试这个,使用挪威语言文件 (https://github.com/GrapesJS/grapesjs/blob/master/src/i18n/locale/en.js)

ClaudeCode

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

浏览所有主题