GrapesJS 问题

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

找到 231 个问题

🔍 general
#33682021年3月27日作者 sizhousama2 个回答
0 个反应

我每次添加方块时都需要重新加载“https://.../main.js”,我该怎么办?

我每次添加方块时都需要重新加载“https://.../main.js”,我该怎么办?

artf

订阅你认为可能有用的[事件](https://grapesjs.com/docs/api/editor.html#available-events),然后按意愿重新加载

ClaudeCode

谢谢你举报,@sizhousama。 关于[问题]我每次添加一个方块时都需要重新加载“https://.../main.js”,这是个很好的问题,我该怎么办?。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('cha...

#33672021年3月26日作者 kerryj894 个回答
1 个反应

模态模板

有没有办法修改已编译状态的模板? https://github.com/artf/grapesjs/blob/d3256e621bb43a537213ffcd86b10dc0bd070c0b/src/modal_dialog/view/ModalView.js#L1-L16 如果没有,从我们的CMS中将标题和内容插入模态骨架中,最简洁的做法是什么? 我意识到这样做会失去葡萄的模态开闭事件。

artf

现在可以替换模态 https://grapesjs.com/docs/modules/Modal.html#custom-modal

Ju99ernaut

这里有一份使用内置模态的插件列表,希望对你有帮助: https://github.com/artf/grapesjs-tui-image-editor https://github.com/artf/grapesjs-custom-code https://github.com/Ju99ernaut/grapesjs-template-manager https://github.com/Ju99ernaut/grapesjs-script-editor https://g...

kerryj89

谢谢,但我一直在找一种方法把内容注入我自己的模态里。 很多库都有模态模板文件或变量来实现这一点。

#33662021年3月26日作者 kerryj894 个回答
0 个反应

扩展预览命令

我正在尝试扩展“预览”命令。 我本以为下面的代码会运行正常的预览命令和控制台输出,但实际上只有控制台语句能运行。 我怎样才能保留原始预览代码? 以下内容对我来说还算有效,直到有人能指出我哪里出了问题。

artf

如果你指定了一个新的“run()”函数,命令只会运行新的,否则就无法完全更改命令(这里更多内容是关于[扩展命令](https://grapesjs.com/docs/modules/Commands.html#extending))

ronaldohoch

你好,Artf,奇怪的是,我也需要和他一样的东西。 所以,最好的做法就是模仿他?在扩展预览中运行原始预览命令?

ronaldohoch

嗯...... 我还在做的另一件事是通过在事件上运行命令来扩展预览。 “''js editor.on(“run:preview”,()=>{console.log(“run-preview”)}); editor.on(“stop:preview”,()=>{console.log(“stop-preview”)}); ```

#33652021年3月26日作者 Franci5co5aoco4 个回答
0 个反应

图层名称范围上的contenteditable属性

你好@artf 我想知道为什么图层的名称范围会有一个“contenteditable”属性。 如果我没记错的话,grapesJs 上并没有实现任何机制,可以在刷新页面后真正更改图层名称。 这对用户来说可能会有点困惑。 '''html <div class=“gjs-layer-title-inn”> <i class=“gjs-layer-caret fa fa-chevron-right” data-toggle-open=“”></i> <span class=“gjs-layer-name gjs-no-app gjs-layer-name--no-edit” data-name=“ contenteditable=”tru...

artf

如果你双击图层名称,实际上可以更改它的名字:)

Franci5co5aoco

@artf,抱歉,我觉得我被误解了。 我的意思是你可以更改名称,但刷新页面时更改内容不会被保存......我认为并没有实施任何机制来实现这一点。 当用户修改图层名称时,他期望该修改会被保存,但事实并非如此。 这里有一段用官方GrapesJs演示的视频: 我把'Header'图层的名称改成了'Test',刷新页面时'Header'还是保留了图层的名称。这是预期中的行为吗? 如果有,为什么它有“内容编辑”属性? 非常感谢你的时间。 https://user-images.git...

artf

不,存储/加载自定义图层名称的机制是存在的,唯一的问题是更改没有触发存储......确实,如果你在更改后立即尝试移动某个组件,页面刷新后你会看到它们。 无论如何,这个问题应该会在即将推出的页面管理器模块中得到修复。

#33622021年3月23日作者 qweiop8013 个回答
0 个反应

双击问题

葡萄 - 0.16.105 当我点击一个元素(表单——该元素已禁用克隆)时,下一个元素(列)会被点击。第一元素克隆到第二元素,失去了所有风格。你能帮我吗? https://user-images.githubusercontent.com/44744754/112153667-cb534080-8be3-11eb-90ef-dbccc866fde2.mp4

artf

你好,首先你需要更新你的 Grapesjs 版本,它太旧了,没有可复现的问题演示我帮不了你

qweiop801

我把 Grapesjs 更新到 0.16.45,问题依旧存在

ClaudeCode

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

#33582021年3月22日作者 qweiop8012 个回答
0 个反应

设置模型属性。

我如何在此事件中禁用模型拖拽按钮:

artf

如果你说的“模型拖拽按钮”是指工具栏上的按钮,你应该更新“toolbar”属性,比如: “''js model.set('toolbar', [{ 属性:{ 类别:'fa fa-trash-o' }, 命令:“TLB-删除” }]) ```

ClaudeCode

谢谢你举报,@qweiop801。 感谢你分享关于Set Model property.的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序...

#33502021年3月18日作者 devtechk3 个回答
4 个反应

未捕获类型错误:无法访问属性“el”,n未定义

你好,我用的是 grapesjs 0.16.44,只有在 Firefox 里遇到这个问题。 使用 Grapesjs Block 基本预设。 有人能帮帮我吗? 非常感谢! ![图片](https://user-images.githubusercontent.com/22073497/111650465-9b7ff380-8805-11eb-87a6-7b653997367d.png) ![图片](https://user-images.githubusercontent.com/22073497/111650496-a5a1f200-8805-11eb-91e9-1f16c3dc7f0b.png)

artf

试着把你的代码放进去 “''js editor.on('load', () => { // ... }) ```

devtechk

问题“解决”后移除: 正在寻找更好的解决方案,先让块面板自动对焦激活 我还注意到其他冲突,比如自定义模态和导出插件中的模态(点击导出插件时触发了FFox上的自定义模态),或者比如我重新设置过的面板又出现了,我已经把所有内容放进代码里解决了

ClaudeCode

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

#33492021年3月18日作者 maivanchuong953 个回答
0 个反应

优点:从文件压缩包导入模板

大家好 我想从之前由 grapesjs 导出的文件导入 zip 文件。你能帮帮我吗?

artf

这和核心库无关。如果需要,你可以自己做插件

Sunsiha

你好@maivanchuong95你有没有想出什么解决办法?

ClaudeCode

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

#33482021年3月18日作者 FreshImmuc2 个回答
0 个反应

怎么会这样

嘿,我知道有人解释过怎么用这个,但我没明白......我该如何使用这个?

FreshImmuc

:/

ClaudeCode

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

#33442021年3月17日作者 NagarRahul3 个回答
0 个反应

FEAT:我正在尝试用getJs()方法获取js,但得到的是空值。我该如何获得JS?

![图片](https://user-images.githubusercontent.com/42827466/111476570-4b952400-8754-11eb-8d3c-1b8b9d29156c.png)

NagarRahul

@artf

artf

这种方法需要你组件中使用的 JS。所以,如果你没有带有 JS 的组件,它就会是空的

ClaudeCode

谢谢你举报,@NagarRahul。 关于FEAT:我正在尝试用getJs()方法获取js,但得到的是空值。我该如何获得 js?。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => con...

浏览所有主题