#50532023年4月17日作者 ngoc1992 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? FireFox 112.0(64位) 可复制演示链接 没有演示链接 描述一下那个虫子 我最近从v0.20.1升级到了v0.21.1。 很多在 v0.20.1 中存在的类型在 v0.21.1 中被改成了“任意”。 例如, v0.20.1中'Components.addType'的类型是'AddComponentOptions'  类型“组件...
artf
谢谢@ngoc199如果之前版本还有其他缺少声明的话,请告诉我
ClaudeCode
谢谢你举报,@ngoc199。 关于类型在0.21.1版本中被改为“任意”的问题,问题非常好。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...
#50522023年4月16日作者 innothetechgeek2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 无 描述一下那个虫子 我正在把grape.js插件集成到vue.js。我有一个预构建页面,里面有预构建的HTML和CSS。 当我把页面vue.js组件加载到编辑器时,所有vue.js样式都会丢失。但如果我移除 grapeJs 初始化方法,我的样式就正常工作了。 请帮帮我。我想把通过vue.js入口加载的样式加载到编辑器里 行为准则 [X] 我同意遵守本项目的行为准则
artf
@innothetechgeek遇到真正的bug问题,你应该做一个可复现的演示,因为通常会有一些与核心本身无关的问题。无论如何,根据你的描述,你可能想通过['canvas' options](https://grapesjs.com/docs/modules/Components-js.html#template-related)定义你的样式条目。
ClaudeCode
谢谢你举报,@innothetechgeek。 通过Vue入口点加载的样式不起作用的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队...
#50492023年4月13日作者 ronaldohoch4 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 勇敢的最后版本 可复制演示链接 https://jsfiddle.net/rp7oc96v/1/ 描述一下那个虫子 嗨,亚瑟! 我正在创建一个新组件,一个链接中的图片,就像“mj-image”组件一样,但我卡在一个配置里,或者说是个bug...... 如何复现这个漏洞?放置“Link na Imagem”块当你尝试从图片拖动新组件时,Grapesjs 选择的是图片而不是组件根标签<a>()如果需要拖动整个组件,我需要使用工具栏中的图标。 预期的行为是什么?子组件没有父元素就不会。 目前的行为是什么?如果子节点 img 元素没有属性 'data-gjs...
gustavohleal
嗨! 我测试过你的方案。它确实能正确更改图像,且将图像锁定在主组件内,你可以移动它。模型中的“src”属性会被更改,但当你移动组件时,它会回到占位符图像。如果你更改图片然后打开视图代码模态,你会发现“src”属性不像模型中那样发生变化。我认为这是因为Grapes在导出代码中没有为图片设置“id”。 检查打印件: 在组件丢弃时不设置图像:  });'
artf
使用 'data-gjs-locked=“true”属性忽略图片,正确更新你的自定义组件 “''js 移除runCommand(“open-assets”); 因为在模型端运行它没什么意义 你可以通过方块激活组件(https://grapesjs.com/docs/api/block.html#properties) 通过使用“激活”属性 init(){ editor.runCommand(“open-assets”); } 在视图中处理资产更新 浏览量:{ 事件:{ db...
#50462023年4月12日作者 abubaker4174 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 111.0.5563.147(官方构建)(64位) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? 这是你可以查看的图片链接 https://ibb.co/0Qg7nTK 预期的行为是什么? 点击默认值时,叉图标应该会被移除;如果选择float值为零,那么十字图标应该会显示non 目前的行为是什么? 当前行为的十字图标在选择默认值时不会被移除行为准则 [X] 我同意遵守本项目的行为准则
artf
@Spiral1234默认值和定义值之间有很大区别(即使默认值和默认值相同)。比如在桌面端你定义了“float: right”,在移动端定义“float: none”,你仍然需要在移动端上移除“ne”这个值。
abubaker417
@artf,让我再给你定义一次。 我的问题是,如果我点击任何模块的默认值,比如float,我选择“none”,那么“cross svg”应该是“display: none”,就像我对其他模块“position”、“text-align”的设置一样。 如果有人选择默认值,那么在即将重置的“交叉SVG”上方应标注为“显示:无”。 我截图里提到了重置的跨SVG,默认值应该是“display: none”。谢谢
artf
@Spiral1234选择默认值时不应该是“显示:无”,请仔细阅读上述使用场景,默认值和选择默认值是不同的。
#50452023年4月12日作者 ronaldohoch2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 勇敢的最后版本可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 如何复现这个漏洞?发布一张图片。选择掉落的图片。运行上面的代码。复制图像选择掉落的图像。运行上面的代码。集合为零'image.view.modelOpt.at' 是从原元素到的位置。 预期的行为是什么?重复元素不得失去对父元素的引用。 目前的行为是什么?被重复的元素失去了父元素的引用。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js (function(){ let position = editor.getSelected()....
artf
@ronaldohoch请使用正确的[文档API](https://grapesjs.com/docs/api/component.html) “''js editor.getSelected().parent(); editor.getSelected().index(); ```
ClaudeCode
谢谢你举报,@ronaldohoch。 关于重复元素失去父元素引用的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed...
#50422023年4月11日作者 pittleCheung2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 无效 描述一下那个虫子 如何复现这个漏洞? 很简单 预期的行为是什么? 我想用editor.load加载数据和切换页面,但我不想要编辑器。每次都要叫储藏。 目前的行为是什么? “每次调用 editor.loadData(data, opts) 时,它都会触发编辑器中定义的存储方法。Storage.add(“api-remote”, {...}),它记录了'api-remote store'消息。” 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js export 函数 apiRemoteSt...
artf
你可以动态更新“stepsBeforeSave”,以避免在存储调用时触发存储。 下次请使用讨论区,因为这不是个bug,而是实现问题。
ClaudeCode
谢谢你举报,@pittleCheung。 关于 editor.loadData(data, opts) 每次被调用时,都会触发编辑器中定义的存储方法,这个问题非常好。Storage.add(“api-remote”, {...}),它会记录消息“api-remote store”。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法...
#50402023年4月10日作者 abubaker4171 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 111.0.5563.147(官方构建)(64位) 可复制演示链接 我提供了代码 描述一下那个虫子 增加了可样式事件,使样式可以覆盖 https://github.com/GrapesJS/grapesjs/issues/1041 https://github.com/GrapesJS/grapesjs/pull/1056 @tommedema,@artf你能帮我查一下吗? 我用这个逻辑来覆盖一个风格 使用这个功能时,样式第一次被覆盖,第二次从style-manager中移除样式后再添加时,样式无法使用,也没有样式。 刷新后又重新激活,只能添加...
ClaudeCode
感谢你报告,@abubaker417。 添加可样式事件导致样式可以被覆盖、开启的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快...
#50372023年4月6日作者 siddhi13974 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 匿名 描述一下那个虫子 如何复现这个漏洞?...... 预期的行为是什么? ...当我在编辑器中拖拽外部内容时,它应该会被丢在特定位置 目前的行为是什么? ...它在该位置被丢弃,但与组件中已有的文本重叠 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ```行为准则 [X] 我同意遵守本项目的行为准则
siddhi1397
你好@artf, 当我在编辑器中拖动外部内容时,它应该被丢在特定位置,但它与组件中的现有内容重叠。那么,有没有办法让我把文字放在特定位置而不让文字重叠? 顺便说一下,我用的是canvas:dragdata来获取外部内容。
artf
@siddhi1397请不要把bug问题作为功能或问题打开
siddhi1397
好吧,抱歉。@artf 但请问能否帮忙说明如何实现?
#50202023年3月31日作者 at-codes2 个回答
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 https://jsfiddle.net/em9kt2Lb/描述一下那个虫子 如何复现这个漏洞? 在编辑器加载时实现下面的代码 预期的行为是什么? 按钮标题会变,也会保持变化 目前的行为是什么? 按钮标题会变,但点击一个后又会恢复原状。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 更改视图按钮的标题 设 viewbuttons = $('.gjs-pn-views > .gjs-pn-buttons').find('span'); viewbuttons.each(function( index, elem ) {...
artf
你好,面板按钮的 @at-code 标题直接连接到 [i18n locale strings](https://github.com/GrapesJS/grapesjs/blob/976e791c5abd6f876a0f29b58de32ff1549f32c2/src/i18n/locale/en.js#L48),所以你需要在那里更新这些字符串。你可以在这里找到更多关于i18n模块的信息[https://grapesjs.com/docs/modules/I18n.html...
ClaudeCode
感谢你举报,@at-codes。 关于更改视图面板按钮标题属性无法持久的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#50192023年3月31日作者 julia-alberici2 个回答
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v111 可复制演示链接 https://codesandbox.io/s/grapesjs-react-components-forked-h3j496?file=/src/index.js 描述一下那个虫子 如何复现这个漏洞?用 Reactjs 启动 Grapesjs 项目编辑器初始化后立即使用 'loadProjectData(data)'通过 'editor.onReady(() => { editor.runCommand(“preview”); } 设置预览模式;(或者实际上任何其他方式) 预期的行为是什么? 编辑器应该包含...
julia-alberici
声明一下,这其实不算是个bug,我能实现预期的行为,替换了'editor.onReady(() => { editor.runCommand(“preview”); });' 与 'editor.on('update', () => { editor.runCommand('preview'); });`
ClaudeCode
谢谢你举报,@julia-alberici。 关于使用loadProjectData()时无法在编辑器初始化时设置预览模式,这个问题很棒。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change',...