#34022021年4月14日作者 joshk1322 个回答
版本: 0.14.62 你能重现演示中的bug吗?[ ] 是的[x] 不 不支持Vue.js或NPM 预期的行为是什么? 在风格管理器右侧边栏显示的块 详细描述那个漏洞 我正在尝试让块管理器显示在右侧边栏,但无论我把块 div 放在哪里,它总是放在侧边栏外面,即使我把它放在样式管理器/容器正下方。 目前的行为是什么? 它会显示在 #gjs div的上方或下方 你能附上截图、截屏或实时演示吗?**[x] 是(附上)[ ] 不 https://imgur.com/a/ca8Lzf8 代码来自App.vue Package.json
artf
“''js blockManager: { 附录:'#blocks',// <- 删除此项 ```
ClaudeCode
谢谢你举报,@joshk132。 无法让方块显示在右侧边栏的问题似乎是竞速状态或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告...
#33972021年4月9日作者 YumiChen1 个回答
版本:0.16.45 你能重现演示中的这个bug吗?[x] 是的[ ] 不 预期的行为是什么? 给定一个父网页组件实例渲染一些元素,在 shadowDOM 中,如果 'slot' 的父元素具有 'display: flex' 风格,排序器应是垂直的,因为结果中元素是水平对齐的。 目前的行为是什么? 分拣器会是水平的。 你能附上截图、截屏或实时演示吗?[x] 是(附上)[ ] 不 https://jsfiddle.net/72dyhu6L/ <img width=“741” alt=“截圖 2021-04-09 下午6 38 06” src=“https://user-images.githubusercontent.com/276...
ClaudeCode
谢谢你举报,@YumiChen。 网页组件槽中排序器方向错误的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报...
#33962021年4月9日作者 YumiChen1 个回答
版本:0.16.45 你能重现演示中的这个bug吗?[x] 是的[ ] 不 预期的行为是什么? 给定一个父元素,其样式为“display: flex”和“flex-direction: column”,子元素的样式为“float: left”,排序器应为水平排列,因为结果中元素是垂直对齐的。 目前的行为是什么? 分拣器会是竖式的。 你能附上截图、截屏或实时演示吗?[x] 是(附上)[ ] 不 https://jsfiddle.net/fzb4u7rd/ <img width=“741” alt=“截圖 2021-04-09 下午6 18 38” src=“https://user-images.githubusercontent....
ClaudeCode
谢谢你举报,@YumiChen。 flex-direction: column 和 float: left: 使排序器方向错误的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示...
#33822021年4月2日作者 Squirrel14892 个回答
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 http...
Ju99ernaut
“葡萄糖”和“葡萄滴”是两个独立的项目,你应该在这里提出你的问题 https://spectrum.chat/grapedrop
ClaudeCode
谢谢你举报,@Squirrel1489。 在免费版本下无法添加超过两个项目的问题似乎是竞争条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别...
#33812021年4月2日作者 pranay22103 个回答
你好,artf,感谢你打造了这样强大的定制CMS工具。 我正在项目中实现一个新页面功能,所以我用你的参考来切换组件,但出现了错误,请问能否指导我如何在面板点击“添加新页面”按钮时构建新页面? 这是我的代码
Ju99ernaut
我觉得数组不是存储页面对象的最佳方式,所以运行数组操作获取页面并加载页面对调用栈来说可能太繁琐了。你应该考虑只在需要时才把页面加载到内存里,并存储在类似数据库的环境中,而不是数组。你可以试试这个插件 https://github.com/Ju99ernaut/grapesjs-template-manager
artf
我不确定你那边的情况,但我建议关注#3206,因为内置页面管理器快准备好了(我会更新那个问题)
ClaudeCode
谢谢你举报,@pranay2210。 关于在组件间切换会导致最大调用堆栈大小错误的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*...
#33782021年4月1日作者 dluague2 个回答
版本: 0.16.45 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 不应该有空文本。 目前的行为是什么? 在将数据保存到数据库并检索(参见附带组件对象)后,空数据会出现。 这就是我分配来自数据库组件的方式 “''js this.editor = grapesjs.init({ 容器:“#gjs${this._uid}', 插件:[类型], fromElement: false, 高度:这个。高度, 宽度:“自动” storageManager: false, 资产管理人:{ 资产:this.assets, 上传文件:this.uploadFile }, noticeOnUnload: false, com...
artf
看起来是你这边的问题,因为我无法复现(也许你后台操作有误?!)。先尝试创建一个可复现的演示(通过使用localStorage)
ClaudeCode
谢谢你举报,@dluague。 保存后*无文本的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 Gr...
#33592021年3月23日作者 qweiop8012 个回答
当我点击一个元素时,第二个元素,第一个元素会克隆到第二个元素,导致所有样式丢失。你能帮我吗? 
artf
你好@qweiop801请按照问题模板操作,按照所有步骤操作
ClaudeCode
谢谢你举报,@qweiop801。 双击复制错误的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 G...
#33562021年3月22日作者 mitcht2 个回答
你想给GrapesJS添加什么? 每个版本的未压缩版本 详细描述你的功能需求详细 我正在使用一些更复杂的方法,使用组件管理器。 最后一个未压缩的“调试”版本是 0.15.xx。 能否同时发布未压缩版和压缩版,以便能进入代码? This请求来自我试图向同事解释addComponent功能的工作原理,但无法完整解释,于是我试图进入代码,却发现没有未压缩版本existed 最新版本有替代方案吗?[ ] 是的(描述替代方案)[X] 不 - 我想用最新版本,而不是旧版本来实现这个功能 这是否与某个问题有关?[ ] 是的(请提供本期链接)[X] 不
artf
你好@mitcht当前的捆绑包包含了压缩文件,同时也包含了源码映射,所以你可以很容易地通过开发工具查看原始代码(更多内容见这里,[https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)]),因此如果你需要调试代码,没有必要同时包含未压缩版本。 你的情况呢?我觉得直接展示源代码(在Github上)更有信息量。
ClaudeCode
谢谢你举报,@mitcht。 最新版本中FEAT:未压缩版本的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报...
#33542021年3月22日作者 ThetripGr2 个回答
版本: 0.16.44 预期的行为是什么? 我预计在同一页里能有两个不同的葡萄实例,并且能够正确使用资产管理 详细描述那个漏洞* 我在一个页面上初始化了两个 Grape 实例,配置如下 “JavaScript AR editor = Grapesjs.init({ fromElement: 1, container:“#{{varName}}”, 插件:[...], styleManager:错误, noticeOnUnload: false, storageManager: false, 面板:{...}, 资产管理人:{ 上传: '/api/handleEditorUpload', 上传名称:“files”, }, ``` 实...
ThetripGr
好吧,经过一番调查,真正的问题是我发起编辑的方式,所以是我的错。我没有确保实例真正分开,结果覆盖了第一个实例,尽管它看起来正常且没有错误。我关闭这个问题,因为它不是真正的bug报告。
ClaudeCode
谢谢你举报,@ThetripGr。 有两个葡萄实例存在,使得资产管理者在第一个“停止”时工作,似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助...
#33532021年3月19日作者 jcsofts2 个回答
感谢你的工作,这是个不错的项目,可能不是个bug。 我尝试让样式管理器中的色彩选择器滚动,输入框也一样。 例如: (颜色,背景)输入框打开选色器滚动样式管理器 输入框移动了,但颜色选择器仍停留在原来的位置 我在 Grapesjs 演示网站上试过这个 <img width=“506” alt=“WeChat944c23a71851577e18470c0dec31441e” src=“https://user-images.githubusercontent.com/33087222/111763958-a73ee900-88dd-11eb-9751-b6012039d577.png”> <img width=“510” alt=“W...
artf
颜色选择器绝对地放置。除非你能找到方法在样式管理器的滚动页面上更新,否则我看不到其他办法。
ClaudeCode
谢谢你举报,@jcsofts。 关于颜色选择器从输入框滚动的问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something cha...