#33402021年3月15日作者 xinnai3 个回答
你好,感谢你的工作。我有个问题。我想做一个类似Codepen的视图,并且想让Grapesjs视图可以上下拖动。但当我拖动它时,工具会去错位置,鼠标悬停高亮元素的位置也错了。我尝试过 splitjs 和其他开源代码,但总是遇到这个问题。 你能帮帮我吗?非常感谢!! https://user-images.githubusercontent.com/23135336/111138227-a5fa7d00-85ba-11eb-9393-0f3307322a56.mp4
Ju99ernaut
你可以试试运行 'editor.refresh()'
xinnai
@Ju99ernaut 非常感谢,你救了我一命!
ClaudeCode
谢谢你举报,@xinnai。 关于我在分格中放置葡萄时,gjs-cv-tools 位置错误的问题很棒。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...
#33392021年3月14日作者 Nigus3 个回答
我们正在开发一个使用 Grapes js 的 CMS 系统。我们设计了一个条件,不能在“mediaCondition”中添加宽高比,保持方向。我们的设计编辑器有16:9比例的竖屏和横屏设计模式。但我们希望增加更多宽高比,比如18:9、19:9和19.5:9,这样设计页面就能在不同的移动设备上放大。
artf
抱歉,你能更好地说明你需要什么吗?你对编辑器的最终CSS期望是什么?
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
ClaudeCode
谢谢你举报,@Nigus。 关于问题:如何在设备管理器中为移动设备添加不同的宽高比,非常好。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#33372021年3月12日作者 wfcheng4 个回答
你好,我正在为学生开发一个解决方案,让学生通过Grapejs编辑器(类似Canva)制作幻灯片讲述他们的高中经历,并且已经将编辑器配置为“绝对”模式,效果非常好。 但我似乎找不到用方向键在编辑器里移动掉落方块的方法。 我知道自定义键位绑定,会考虑添加这个功能,但只是想看看我是不是遗漏了什么,有没有其他更好的选择。
artf
不,不幸的是,在这种情况下,自定义键位映射是唯一的解决方案。 你应该直接获取选中的组件并更新它的样式。
michaelhofer
我找到了一个可行的解决方案如下: 命令的添加如下: “moveSelectedElements”方法只需以下操作: 不过,当用方向键移动元素时,画布也会滚动,这是库巴默认的行为。 我们如何防止使用keymap('e.preventDefault()'))的默认传播?这应该是自动发生的,还是有办法配置?
sathudeva7
keymaps.add('ns:my-keymap', '⌘+s, ctrl+s', 'some-gjs-command', { 阻止默认浏览器操作 防止:正确, });
#33352021年3月11日作者 zachsnoek3 个回答
我有一个组件使用了“background-url”样式管理器属性: 我想重用样式管理器中显示的这个UI,作为“设置”下显示的背景URL特性:  有没有可能让样式管理器的属性像特质一样表现,并显示在“设置”部分,还是我需要用这个界面创建一个新的特质? 谢谢。
artf
遗憾的是,目前还无法实现,但计划很快添加一个新的UI模块,应该可以重复使用UI元素
ClaudeCode
谢谢你举报,@zachsnoek。 关于用样式管理器属性UI创建特质的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#33342021年3月11日作者 KernelDeimos2 个回答
版本: 0.16.44 你能重现演示中的bug吗? [ ] 是的 [x] 不 预期的行为是什么? 真的,其他任何东西都行 详细描述那个漏洞 我当时正试图将脚本加载到画布中。我第一次尝试是“脚本:[]”,然后遇到了这个PR帖子里提到的同步问题:https://github.com/artf/grapesjs/pull/67 我看到@artf的一个例子展示了另一种用一个叫“components”的属性来实现。这样做会导致JavaScript解析器失效。我不是开玩笑;我发了截图来证明。 还有一点有趣的是:控制台里写着“TAG LOAD”的文字来自我试图加载的脚本。所以......成功了吗?尽管页面因语法“无效”而崩溃。 目前的行为是什么...
KernelDeimos
我有一阵子没用内联“<script>''标签了,也忘了HTML解析器的这个限制。关上这个。
ClaudeCode
谢谢你举报,@KernelDeimos。 尝试将脚本加载到Canvas时,可能会破坏JavaScript的问题?? 似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSa...
#33332021年3月11日作者 xinnai4 个回答
你好,我想开发源代码,但无法开始。我开始项目时出现了错误。有人能帮帮我吗?非常感谢!! 
xinnai
@Andrew-Chen-Wang 我觉得这可能是我的开发环境出了问题,所以我用另一台电脑安装并迁移到我的电脑上,至今仍不知道为什么,但现在它运行正常了。希望以后不会再出错,非常感谢!!
Andrew-Chen-Wang
关于源代码开发,请查看:https://github.com/artf/grapesjs#development
xinnai
@Andrew-陈旺,是的,我做了,但总是出现这个错误,我该怎么办?
#33302021年3月10日作者 RaresVlaiduc1 个回答
又见面了! 当前情况:我开始剪辑在图层管理器中,我最大化了移动容器(箭头图标)的宽度,这样我可以通过点击任意方向拖动元素我在编辑器中快速移动,不小心移动了图层,而不是选择它 我想要的:例如,我想将移动事件的开始提前300毫秒,这样在这300毫秒内只触发选择动作 你知道移动时触发的事件叫什么吗(来自图层管理器)。 谢谢! LE: component:drag:start 是事件
ClaudeCode
谢谢你举报,@RaresVlaiduc。 关于组件启动移动时触发的事件,这个问题很棒。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')...
#33292021年3月10日作者 imouou4 个回答
你好,@artf,这是一个很棒的框架,非常感谢。 我现在用它来创建移动版 BUI 框架的组件,遇到了一个问题,我添加了自定义的特性文本区,我该如何制作这个?当数据发生变化时,它会在输出脚本中触发。 “''js 编辑。TraitManager.addType('textarea', { createInput({ 特质, 组成部分 }) { 这里我们可以决定使用性状中的性质 const el=document.createElement('div'); el.innerHTML = ' <textarea class=“buiv-textarea” name=“${options[0].name}” rows=“${options[...
Ju99ernaut
你需要在“剧本道具”中添加这个特质,你可以在这里阅读更多内容 https://grapesjs.com/docs/modules/Components-js.html#passing-properties-to-scripts
imouou
谢谢@Ju99ernaut,如果是某些内置功能,修改脚本时可以接收参数值,我目前遇到问题:自定义功能“textarea”可以触发DOM等更改,但导出脚本无法接收该参数的值,即使脚本道具设置为“datas”。
Ju99ernaut
你可以尝试强制脚本更新: “''js 编辑。DomComponents.addType('slide', { 型号:{ // ... init() { this.on('change:datas', () => this.trigger('change:script')); }, }, // ... }); ```
#33282021年3月9日作者 D-Rosa994 个回答
你好。 Grapesjs是个很棒的工具。谢谢你。 我想通过输入更新组件的文本值,我该怎么做? 如果用户在输入框中填写类似“茶站,标题应改为该网站 
artf
只要找到组件,然后按你的想法更新它 “''js cont typedByUser = '类型某物...'; const cmp = editor.getWrapper().find('.any-query-selector')[0]; cmp && cmp.components(typedByUser); ```
millord
我也想用类似的 Grapes 应用,但用 React 通过控制输入更新文本组件。有人能帮忙吗?
#33272021年3月9日作者 DMSlam1 个回答
嗨。当我尝试用带有一些 VML 包装标签的现有 HTML 代码生成新闻通讯模板时<style>,现有的样式类处理得很好,尽管编辑器中删除了相关 VML 的提及。 能否给我一些可能的变通方法?GrapesJS CSS 编辑器里真的有可能有 VML 代码吗?
ClaudeCode
谢谢你举报,@DMSlam。 关于有没有办法把VML代码保留在CSS里,以避免某些样式出现在Outlook?,这个问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () =>...