GrapesJS 问题

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

找到 466 个问题

🔍 components
#36932021年8月11日作者 GaikwadShubham3 个回答
1 个反应

GrapesJS 不支持 AdoptStylesheet

版本: 你可以在控制台输入“grapesjs.version”获得版本 0.17.22 你能重现演示中的bug吗?[x] 是的[ ] 不 预期的行为是什么? 应该能以类似 grapesjs 容器外的方式看到网页组件 详细描述那个漏洞 Grapesjs 无法从可构造样式表渲染 CSS。 目前的行为是什么? 能够在不样式的情况下加载组件 你能附上截图、截屏或实时演示吗?**[x] 是的(https://codesandbox.io/embed/frosty-payne-3fhd7?fontsize=14&hidenavigation=1&theme=dark)[ ] 不 CodeSandbox 入门模板 https://codesan...

artf

这个问题是由于 AdoptStylesheet 的工作方式,类似于 lit-element 的这个(https://github.com/lit/lit-element/issues/1139)。 基本上,你不能在多个文档中共享同一个CSSStyleSheet,所以必须手动重新创建,下面是一个自定义元素的代码,以支持adoptedStyleSheets。 “''js 编辑。Components.addType('custom-element', { isComponent:...

vasicvuk

有没有什么解决方案可以让lit-element components 3.X配合grapesJS使用?

ClaudeCode

谢谢你举报,@GaikwadShubham。 AdoptStylesheet 在 grapesJS 中不支持的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSan...

#36882021年8月10日作者 mingxin-yang2 个回答
0 个反应

如何自定义组件

我 https://grapesjs.com/docs/modules/Components.html#define-custom-component-type 读了这份文档,并尝试编写以下代码。我想让“mj-body”无法删除: 但我看不到效果,请帮帮我

artf

这样做 'isComponent: el => (el.tagName ||'').toLowerCase() === 'mj-body','

ClaudeCode

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

#36852021年8月9日作者 throne19861 个回答
0 个反应

ShowStylesOnChange 不起作用

大家,我是葡萄新手,我想在组件更改时展示样式管理器,这是我的组件以及我如何添加它,另外我想在资产管理器中输入视频 ![图片](https://user-images.githubusercontent.com/27904724/128702762-bdd9dea5-bb69-4a6f-8456-8e81731d4768.png) 遗憾的是,样式管理器和视频类型都没有添加,有人能告诉我如何正确地把这些功能添加到我的配置中吗?我用的是 reactjs

ClaudeCode

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

#36832021年8月9日作者 mingxin-yang4 个回答
2 个反应

如何设置组件无法删除

![图片](https://user-images.githubusercontent.com/23076937/128685747-37b8bdf2-16f0-47bc-b5f6-cb96bbbfefdf.png)

mingxin-yang

https://grapesjs.com/docs/modules/Components.html#define-custom-component-type,这个?@artf

artf

要一键启用富文本编辑器,可以通过这种方式扩展原始文本组件 “''js 编辑。Components.addType('text', { 浏览量:{ 事件:{ input: 'onInput', // 保留原始的 on input 事件,该事件更新 RTE 工具栏位置 点击:“enableRte”, }, enableRte() { this.onActive() } }, }); ```

artf

我建议创建一个自定义组件,并将“removable”属性设置为“false”

#36812021年8月7日作者 Joshmamroud4 个回答
0 个反应

Textable无法与扩展文本组件兼容

版本: 0.17.22 你能重现演示中的bug吗?[X] 是的[ ] 不 预期的行为是什么? 应该能够将文本元素放入自定义组件中,从而扩展文本组件 目前的行为是什么? 不能把可文本的组件放进一个扩展文本组件的自定义组件里 你能附上截图、截屏或实时演示吗? [演示](https://codesandbox.io/s/compassionate-andras-8h8m4?file=/index.js)[X] 是的(附上)[ ] 不

artf

嘿@Joshmamroud这里其实有个关于文本成分的普遍问题 #2771

Joshmamroud

谢谢你,@artf。我觉得我的问题更多是自定义组件,它扩展了文本组件。Textable在原始文本组件中工作正常,但当我尝试创建自己的自定义文本组件时,就遇到了问题。不仅仅是Textable,我注意到扩展文本组件也会失去一些其他功能。我现在一时想不起具体的。是不是我在扩展文本部分方面做错了什么?

artf

从你的演示来看,我没看到扩展的“文本”部分有问题,只有与文本相关的问题

#36752021年8月5日作者 rywilson281 个回答
0 个反应

即使徽章下方有空位,也会遮挡元素内容

版本: 0.17.23 你能重现演示中的bug吗?[x] 是的[ ] 不 如果该元素放在画布顶部,徽章可能会遮挡该元素的内容。 ![图片](https://user-images.githubusercontent.com/45426659/128348057-e2550bac-4ded-448a-a64a-0ca1b374a8ec.png) 预期的行为是什么? 如果有空间,标签应放在元件下方。 ![图片](https://user-images.githubusercontent.com/45426659/128348466-f60822ea-8c6d-42f7-9668-2f3d89c1bc65.png) 你能附上截图、截屏或...

ClaudeCode

谢谢你举报,@rywilson28。 徽章“即使元素下方有空间,也可能遮挡元素内容,这似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更...

#36742021年8月5日作者 sriya-srinivasan4 个回答
1 个反应

隐形网络组件

版本: 0.17.19 目前的行为是什么? 新增的 webcomponent 是可见的: 在 grapesjs 容器内添加网页组件时,如果组件在 shadow DOM 中有元素,组件是空的。(如果不使用 shadow dom 创建组件,则没有问题。)在图层管理器中可以看到,但是空的 ![第1期](https://user-images.githubusercontent.com/78800503/128315538-ae05c799-9a0f-402d-a74c-b001fa2ad03c.PNG) 这里我们可以看到内部和外部元素的差异。阴影根不可见。 预期的行为是什么? grapesjs canvas 内的 webcomponen...

artf

我在这里发了一个变通方法 https://github.com/artf/grapesjs/issues/3693

artf

嘿,@sriya-srinivasan,你能做一个可复现的演示吗?

artf

@sriya-Srinivasan,有什么最新进展吗?

#36732021年8月5日作者 imouou2 个回答
0 个反应

Option resizable:True会在Canvas中更改所有相同的组件。

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl Version: grapesjs-0.17.22 你能重现演示中的bug吗?[] 是的[ ] 不 预期的行为是什么? 在改变元素大小时,不应同时导致其他相同组...

artf

使用组件优先样式 “''js Grapesjs.init({ ... 选择经理:{ componentFirst: true, ... }, }) ```

ClaudeCode

谢谢你举报,@imouou。 option resizable:true 会改变 Canvas 中所有相同的组件。 似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSa...

#36552021年7月30日作者 TRIGGEREDcoder2 个回答
0 个反应

表单按钮名称的更改没有被生成的HTML代码捕捉到

版本: 版本 0.17.19(grapesjs) 版本 0.1.11(grapesjs-preset-webpage) 你能重现演示中的bug吗?[ ] 不 预期的行为是什么? 如果我通过在组件设置中更改按钮的文本来更改按钮名称,这些变化应该会反映在Canvas和代码视图中的HTML代码中。 详细描述那个漏洞 我在画布上拖动一个表单组件。 选择按钮标签,进入组件设置。 选择按钮类型并更改文本。 屏幕上的按钮文字会变化,查看代码HTML上的按钮类型也会变化,但按钮名称完全没有反映出来。 目前的行为是什么? 按钮标签被更改,HTML代码里根本没有体现。 你能附上截图、截屏或实时演示吗?**[ ] 是的(附上) 和Codebox一样,g...

artf

你好@TRIGGEREDcoder,预设网页插件存在问题,该插件引用了包含该漏洞的旧表单插件。所以,我决定关闭这个插件,因为它不属于核心,并且会很快更新插件引用。

ClaudeCode

谢谢你举报,@TRIGGEREDcoder。 “表单按钮名称的更改没有被生成的HTML代码捕捉到的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox...

#36542021年7月30日作者 NoumanAhmad-Braqsol1 个回答
0 个反应

Editor.setComponents(html)和pageManager.select(pageId)未加载js脚本

嗨,@artf据我所知,allowScripts:1 允许 grapesjs 加载脚本。我第一次加载着陆页时,它运行正常。它能加载所有JavaScript。之后,当我使用 editor.setComponents(html) 或 pageManager.select(pageId) 来处理与 LandingPage 使用的同一个 HTML 字符串时,JavaScript 不行。appendOnClick:1 这样可以让该块添加 OnClick,这样就能正常工作了。但它将块附加到所选元素 中。 我的问题是,在Onclick的特定位置上该给谁添加一个块。 实际上,我想把该块作为所选元素的下一个兄弟块添加。

ClaudeCode

感谢你报告,@NoumanAhmad-Braqsol。 关于 [QUESTIONS] editor.setComponents(html) 和 pageManager.select(pageId) 不要加载 js 脚本 的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方...

浏览所有主题