GrapesJS 问题

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

找到 183 个问题

🔍 documentation
#37832021年9月16日作者 mattnoth3 个回答
0 个反应

当文本组件设置为100%高度时,RTE文本重叠

葡萄JS版本 请帮帮我——这个问题可能在别处已经解决了,但我查了相关问题,没找到任何问题——文档里有提到要移动RTE的位置,但我不确定应该放在初始化的哪个位置——>'rteToolbarPosUpdate'是什么意思? 那个“pos”是什么意思?我只是想让RTE在设置为100%高度时,能排到文本框底部[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 93.0.4577.82(官方构建)(64位)可复制演示链接 https://codesandbox.io/s/peaceful-feather-8pz5i描述一下那个虫子 当你进入沙盒时,必须手动将文本框的高度和宽度设置为100%——不知为何它无法保存 如何复现...

artf

这不是bug,只是一个奇怪的使用场景。

mingxin-yang

@artf我想更改rte工具栏的位置,但pos没有文档中提到的参数

ClaudeCode

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

#37332021年8月30日作者 anatoli-dp2 个回答
0 个反应

(或者只是一般问题)存储管理器加载不正确吗?

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 当前(我用的是最新版本) 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是...

artf

你是在取材外调用“clb”,在你的加载函数里 “''js Load(keys, clb) { 取(...)。那么(r => r.json()) .then(res => { ... CLB(结果) }) } ```

ClaudeCode

谢谢你举报,@anatoli-DP。 存储管理器(或一般问题)无法正确加载的问题?似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更...

#37132021年8月18日作者 shkhalid3 个回答
1 个反应

带脚本的存储组件无法正确渲染

我在尝试保存一些组件(包括一些脚本)并重新加载页面时遇到了一些问题,组件渲染不正确。显示的是空盒子。 举个例子:当我尝试从“jvas28/grapesjs-echarts”保存图表组件并重新加载页面时,会出现这种情况 <img width=“1438” alt=“截图 2021-08-18 下午4点20分” src=“https://user-images.githubusercontent.com/8138036/129891078-2191094d-d735-4178-9859-588f774120b6.png”> 这是示例应用 https://codesandbox.io/s/cranky-wescoff-93pxd?fil...

shkhalid

谢谢@artf! 最后我终于弄明白了 问题出在“tagVarStart”和“tagVarEnd”。评论完后它开始起作用了

artf

@shkhalid谢谢你的报告,但在这个仓库里,你应该打开可重现的问题,不使用外部插件,因为问题可能出在插件本身。至少就我对核心的判断来看,如果按照这个[指南](https://grapesjs.com/docs/modules/Components-js.html)正确实现,组件中没有问题。

ClaudeCode

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

#37032021年8月13日作者 anatoli-dp2 个回答
0 个反应

自定义ID在CSS中注入\3,\3后面有空格,\3后面有空格

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 最新发布 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[ ] 是的[ ] 不 预期的行为是什么? 如果有一...

anatoli-dp

请注意,这个问题很糟糕......现在看到它,我觉得自己很傻......ID不能以数字开头,我做这个时没考虑到这一点

ClaudeCode

谢谢你举报,@anatoli-DP。 自定义ID在CSS中注入\3,\3后面有空格的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队...

#37022021年8月13日作者 throne19861 个回答
0 个反应

HTML头标签未添加到dom中

我正在使用 [grapesjs library][1] 来构建网页,我根据文档添加了一个自定义块 [这里][1],当我拖动块到 canvas 时,HTML 数据会被添加,但 '<head></head>' 标签是空的, 这是我的代码 function tempOnePlugin(editor) { 编辑。BlockManager.add('my-first-block', { 标签:'<i class=“fa fa-clone”></i>', 内容:'<!DOCTYPE html> <html lang=“en”> <head> <meta charset=“utf-8”> <title>Vmmerce模板</title> <me...

ClaudeCode

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

#37002021年8月12日作者 anatoli-dp3 个回答
3 个反应

设置可拖拽:'wrapper' 不会在 wrapper 中丢弃

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 目前,我会更新每次发布 你能重现演示中的bug吗? 使用自定义编辑器,因为我需要自己制作组件[ ] 是的[ ] 不 预期的行为是什么? 将组件设置为可拖...

artf

这里的字符串本应是查询字符串,所以它尝试查询一个“封装”标签,而显然这个标签不存在。编辑器会在帧中的所有组件附加“data-gjs-type”属性,所以你能用的查询是“可拖拽:”[data-gjs-type=wrapper]''

anatoli-dp

啊,现在明白多了......谢谢,问题解决了

ClaudeCode

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

#36902021年8月10日作者 throne19861 个回答
0 个反应

附录:不使用特质管理器

我有一个基本的例子如下 HTML <div id=“gjs”> <div class=“traits-container”></div> <div style=“padding: 25px”>Hello World!!</div> </div> <h1> 附加特质管理器 </h1> <div class=“traits-container”></div> J const editor = Grapesjs.init({ 容器:“#gjs”, fromElement: true, 身高:“100%”, storageManager: false, traitManager: { appendTo: document.querySel...

ClaudeCode

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

#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'...

#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...

#36682021年8月3日作者 anatoli-dp4 个回答
0 个反应

移动/缩放后无法重置画布

警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 你想给GrapesJS添加什么? 一种在缩放和移动后将画布重置回默认位置的方法。 详细描述你的功能需求详细 缩放后再移动画布后,你可以创建一个函数,调整大小并将...

artf

我不太明白你的问题,具体是怎么移动/缩放画布的?这无关,但有没有功能可以调用来缩放内容,而不是画布?比如我想放大,比如放在某个非常高DPI的页面上,以便更好地编辑。还是应该手动调整iframe缩放?因为iframe放大当然会放大工具/选择轮廓 ['编辑。Canvas.setZoom'](https://grapesjs.com/docs/api/canvas.html#setzoom)在你这种情况下不起作用吗?

anatoli-dp

我用编辑器来调整。用Canvas.setZoom,然后用空格键移动它。目前我移除了之前做过的部分,但大概是拿到画布元素,然后通过样式更新来定位它。不过这种变化不是永久性的,只要稍微移动,它就会跳回原位,比如如果它在26xx、18y(或26上、18左)的位置,稍微移动它会跳回那些坐标,而不是如果它是从0,0开始移动,如果它是天边。有没有什么功能可以把画布位置重置回视角中心,并重新缩放到100%?

artf

如果你说的是移动坐标,我们还没有直接的 API,但你实际上可以通过这种方式获取或更新坐标: “''js const canvasModel = editor.Canvas.getModel(); 获取数值 const { x, y } = canvasModel.attributes; 更新数值 canvasModel.set({ x: x + 50, y: y + 50 }) ```

浏览所有主题