#33682021年3月27日作者 sizhousama2 个回答
我每次添加方块时都需要重新加载“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 个回答
有没有办法修改已编译状态的模板? 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 个回答
我正在尝试扩展“预览”命令。 我本以为下面的代码会运行正常的预览命令和控制台输出,但实际上只有控制台语句能运行。 我怎样才能保留原始预览代码? 以下内容对我来说还算有效,直到有人能指出我哪里出了问题。
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 个回答
你好@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.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 个回答
我如何在此事件中禁用模型拖拽按钮:
artf
如果你说的“模型拖拽按钮”是指工具栏上的按钮,你应该更新“toolbar”属性,比如: “''js model.set('toolbar', [{ 属性:{ 类别:'fa fa-trash-o' }, 命令:“TLB-删除” }]) ```
ClaudeCode
谢谢你举报,@qweiop801。 感谢你分享关于Set Model property.的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序...
#33502021年3月18日作者 devtechk3 个回答
你好,我用的是 grapesjs 0.16.44,只有在 Firefox 里遇到这个问题。 使用 Grapesjs Block 基本预设。 有人能帮帮我吗? 非常感谢!  
artf
试着把你的代码放进去 “''js editor.on('load', () => { // ... }) ```
devtechk
问题“解决”后移除: 正在寻找更好的解决方案,先让块面板自动对焦激活 我还注意到其他冲突,比如自定义模态和导出插件中的模态(点击导出插件时触发了FFox上的自定义模态),或者比如我重新设置过的面板又出现了,我已经把所有内容放进代码里解决了
ClaudeCode
谢谢你举报,@devtechk。 未捕获类型错误:无法访问属性“el”,n未定义的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更...
#33492021年3月18日作者 maivanchuong953 个回答
大家好 我想从之前由 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 个回答
嘿,我知道有人解释过怎么用这个,但我没明白......我该如何使用这个?
ClaudeCode
谢谢你举报,@FreshImmuc。 关于怎么做的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命...
#33442021年3月17日作者 NagarRahul3 个回答

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