GrapesJS 问题

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

找到 3,464 个问题

#32082020年12月24日作者 burgil2 个回答
1 个反应

使用 GrapesJS 而不使用 NPM?

你好, 在普通主机提供商上使用网页构建器的功能,有没有 NPM 的使用可能?比如Apache或其他解决方案? 谢谢!

gixid192

你可以在这里查看该文件:https://grapesjs.com/docs/getting-started.html#import-the-library

ClaudeCode

谢谢你举报,@burgil。 关于使用GrapesJS而不使用NPM的好建议?!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细...

#32072020年12月23日作者 shkhalid4 个回答
1 个反应

表格不提交

我正在尝试创建自定义方块。但当我在内容中使用“组件”时,表单没有提交。 当我用“内容”代替“组件”时,我能获取所有表单数据。 但这样就不允许我拖拽新的输入到成型状态。

gixid192

关键是——HTML缺失了。 如果可以的话,建议你把代码分享到codesandbox或类似的在线编辑器里。

artf

是的,我们需要完整的代码来理解问题。 无论如何,如果你用的是“脚本”,请定义一个自定义组件,而不是直接放在块里,否则存储会有问题。我知道文档里是这样说明的,但块的使用只是示例(我希望能在下一个版本更新)

no-response[bot]

由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。

#32062020年12月23日作者 jrkd4 个回答
6 个反应

FEAT:页面管理器插件

功能: 可以用Grapesjs创建多个页面。功能设计 全球范围:[ ] 在顶部横幅“设备[下拉列表]”右侧添加一个链接,上面写着“当前<page-name>页面”。[x] 在右侧列“方块”右侧新增菜单项。图标会类似于[FA页面图标](https://fontawesome.com/v4.7.0/icon/files-o)。[ ] 点击菜单项或当前页面链接,会显示“页面管理器”标签;一个全宽链接列表,可以在页面间切换。 页面管理器标签页:[x] 当前页面将在列表中被高亮显示。[x] 点击新页面会刷新主视图及相关编辑器信息。[x] 当前设备设置应保持。[x] 导出/预览/布局/属性功能应指向新选中的页面。[ ] 列表中的每个页面都会有...

artf

Pages模块现已合并 https://github.com/artf/grapesjs/pull/3411,新版本即将发布。 使用Pages API的简单演示:https://codepen.io/artf/pen/XWpJQoY

artf

听起来很棒,我很喜欢把这个插件作为插件的想法,如果你觉得需要添加什么(比如某个事件)来让它更好,告诉我。

jrkd

这个功能的核心今天已经运行起来了。 @artf如果还想要,告诉我,我会在一月份再花点时间。 给自己的笔记, 待办事项:添加/移除页面操作,进行视觉调整,集成存储管理器,并将代码重构为独立插件。

#32052020年12月22日作者 OleksandrNeroda4 个回答
0 个反应

带纽扣

https://grapesjs.com/demo.html 当我编辑按钮文字为“测试”时 重新加载后,结果如下: ![图片](https://user-images.githubusercontent.com/14879734/102893138-55630000-4461-11eb-9ca8-7918610915aa.png)

OleksandrNeroda

@artf你能帮忙吗?

fzerman

这个演示会将你的更改保存到浏览器的本地存储中。如果你没保存,那是正常的。试着在控制台里保存或运行“editor.store()”。

OleksandrNeroda

@Swindler36我的项目里我不使用本地存储,所有内容都保存到数据库里,但问题依旧。我觉得这不是本地存储的问题。

#32042020年12月22日作者 maivanchuong2 个回答
0 个反应

我想在MVC里保存并加载并 asp.net

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

artf

不要不尊重,阅读并遵循问题模板......

ClaudeCode

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

#32032020年12月21日作者 MariusDK4 个回答
0 个反应

自定义块类别问题

你好, 我想在块的类别中添加属性,但这些属性没有应用。

MariusDK

@artf有什么建议吗?

artf

请详细说明你想达到的效果。

MariusDK

我想在块的分类上添加一个 html 属性,比如 Basic Category 。 类似这样的内容 ![图片](https://user-images.githubusercontent.com/26068332/103411637-aa95c480-4b79-11eb-8433-335622478e51.png)

#32022020年12月21日作者 vbeskrovny2 个回答
0 个反应

需要帮助:保存/恢复GJS数据块类型

大家好,能指点我正确的方向吗?当我保存html代码和css代码时,它们会被新行修剪。有什么方法可以避免修剪吗?插入“自定义代码”块,从远程存储保存并恢复后,显示为“默认”类型或“文本”类型。如何将data-gjs-type设置为自定义代码返回? 非常感谢......

vbeskrovny

通过使用 StorageManager 中的 json 内容解决了这个问题。

ClaudeCode

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

#32002020年12月20日作者 sprklinginfo3 个回答
0 个反应

需要帮助:能找到方块掉落到的组件吗?

你好, 如果我在动态添加的组件上拖放一个方块,我如何获得或访问该方块被投放到的组件? 我把拖曳模式设置为“绝对”(设计模式),这样用户可以自由地在页面任意位置放置一个方块,每页都有背景图片。当编辑器启动时,页面会动态添加。方块应根据背景图片放置在页面的不同部分。由于拖拽模式,方块被设置为“绝对”。我的问题是,如果我更改浏览器大小,带有背景图片的页面会相应缩放,但那些块却不会跟着目标图片移动。我在想,一旦块被放下,我需要把位置改成“相对”,并附加到页面上(图片)。 尝试用“block:drag:stop”事件更改掉落方块的样式,但它变得隐形,它还在DOM上,但我看不到它了,“设置'z-index'为100000,也没用。我也搞不清楚...

artf

抱歉兄弟,我这里只回答你的主要问题如果我在动态添加的组件上拖放一个方块,我如何获得或访问该方块被投放到的组件? “''js 模块和组件是两个不同的概念,如果你不理解,请阅读文档 editor.on('block:drag:stop', (component, block) => { 如果存在分量,表示掉落成功 如果(分量) { component.addStyle({ color: 'red' }) // 例如:更新风格 你需要包含这个新组件的父节点吗? const par...

inthismachine

@artf如果xxx被非法丢弃,有没有办法把<mj-text>xxx</mj-text>包裹在MJ截面和MJ列里?比如使用者试图把它砸在身体上。原因是我想自动把丢弃的文本块添加到一列行里,如果它没有放在列内。

ClaudeCode

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

#31992020年12月19日作者 mohd74692 个回答
0 个反应

方块渲染函数,不是触发器

@artf - 文档里说,如果需要自定义每个块预览的方面,可以在块里传递渲染回调函数。 但实际上,我把这个渲染回调包裹在一个叫 func() 的函数里,然后调用某个 ajax 请求 如果我在页面加载时调用它,它能正常工作,但如果我在页面加载后调用这个 func() 函数,针对某个点击事件/处理程序或 API 响应,这个函数内部的 render 回调不会被触发 ![图片](https://user-images.githubusercontent.com/12613564/102699399-34828b00-4266-11eb-93eb-ce102028baf0.png)

artf

如果你这样做,块管理器不会看到“block.attributes.render = ...”的更改。 你必须以以下方式明确更新该属性: “''js block.set({ 渲染:() => { 返回“<div>NEW HTML</div>” } }) ``` 而且要小心,渲染函数应该返回HTML字符串或DOM节点,而不是Promise。如果你需要做异步操作,先解决它,然后再用返回的内容更新渲染。

ClaudeCode

谢谢你举报,@mohd7469。 感谢你分享关于块渲染功能不触发的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。GrapesJS团...

#31982020年12月19日作者 mprince2k182 个回答
0 个反应

无法获得内联CSS代码。如何使用这个?

当我运行内联CSS的Command时,它会给我一个警告且未定义。

artf

没有内置命令可以获得内联CSS,但你可以在新闻通讯插件中找到实现方式: https://github.com/artf/grapesjs-preset-newsletter/blob/master/src/openExportCommand.js 核心功能是通过使用“juice”包完成几行代码 “''js 从“juice”进口果汁; // ... const getInlineed = (editor) => { const html = editor.getHtml();...

ClaudeCode

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

浏览所有主题