GrapesJS 问题

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

找到 3,464 个问题

#26242020年3月5日作者 kierenayima1 个回答
1 个反应

生成的样式在类名中不会逃脱冒号

我目前正在本地开发一个项目,使用 GrapeJS 并与一些 Tailwind UI 组件集成。 它大体上运行良好,但我注意到对某些元素进行修改(例如更改文本颜色或格式)并不起作用。 仔细看,我发现这是因为生成的样式不会逃逸出 grapesJs 用来制作 CSS 选择器的类冒号。 例如,GrapeJs 输出的选择器是: 选择器实际上应该是这样的:

artf

谢谢你的报告@kierenayima 选择器将在下一版本中通过CSS逃逸

#26232020年3月5日作者 sinisavt1 个回答
1 个反应

通过自定义RTE(CKeditor)添加图片后,文本块变得无法使用。

大家好, 我用的是ckeditor而不是默认的RTE。Ckeditor 正在加载自己的插件,看起来是这样的。 ![图片](https://user-images.githubusercontent.com/34059552/75962696-879c7480-5ec4-11ea-8484-4404cc09660a.png) 有了这套插件,我可以使用ckeditor的图像组件,效果非常好。 ![图片](https://user-images.githubusercontent.com/34059552/75962825-c03c4e00-5ec4-11ea-8b22-ade21e4618aa.png) 但如果我把这些内容保存到数据库...

sinisavt

嗯,我找到了让我沮丧的原因。 'storageManager: { autoload: false},' 自动加载设置为“false”。我改了这个功能,现在有效了。 'storageManager: { autoload: true },'

#26222020年3月4日作者 light-effect1 个回答
0 个反应

:资产管理器 addType 函数在重新加载页面后无法工作

'am.addType('svg-icon', { 浏览量:{ 'getPreview()' 和 'getInfo()' 只是一些辅助工具,你可以 用“template()”覆盖整个模板 请在这里查看基础“模板()”: https://github.com/artf/grapesjs/blob/dev/src/asset_manager/view/AssetView.js getPreview() { return '<div style=“text-align: center”>${this.model.get('svgContent')}</div>'; }, getInfo() { 如果你通过了模型的属性,可以使用它们: a...

artf

如果你提交错误,请遵循问题模板,至少要创建一个可复现的演示

#26212020年3月4日作者 yuzhva3 个回答
1 个反应

编辑。Panels.addPanel 重复按钮

在创建自定义插件时,如果是“编辑器”。Panels.addPanel' 使用了 Inside 插件功能——按钮是重复的。 示例: https://jsfiddle.net/kncdah8b/ 按钮不重复:使用单一“Panels.addButton”接口,同时单独循环按钮在编辑器后添加面板时,创建了“const editor = grapesjs.init({})” 目前,我正在用下一个方法来避免出现重复: “JavaScript function gjsPlugin(editor) { editor.on('load', () => { 编辑。Panels.addPanel({ ID:“自定义面板”, EL: '.custom-p...

yuzhva

关闭了问题,因为我找到了另一个解决方案: “JavaScript const panelCustom = editor.Panels.addPanel({ ID:“panelcustom”, EL:“.panelcustom” }); const panelCustomButtons = panelCustom.get('buttons'); panelCustomButtons.add(topBarButtonsCenter); ``` 但关于“编辑”的问题。Panels...

artf

感谢@YUzhva的报告和解决方案。我会试着去看看

hellocaio

我也是,我也测试了文档里面板示例(入门),但总是出现重复按钮。@yuzhva方案有效,谢谢:)

#26192020年3月3日作者 mcottret2 个回答
1 个反应

:默认图像占位符的 src 属性生成/导出为<svg>元素

你好,感谢你提供的精彩图书馆! 我们在尝试时可能发现了以下bug: 当添加新的默认“图像块”而无需进一步配置(保留默认图像占位符)时,导出/生成的HTML代码会将默认的“svg”元素嵌入为图片的“src”属性值(参见附图截图)。 ![截图 2020-03-03 下午4:31:40](https://user-images.githubusercontent.com/9916749/75793303-7857e280-5d6f-11ea-9fa3-340cfb3a6be1.png) ![截图 2020-03-03 下午4 31 06](https://user-images.githubusercontent.com/9916749...

mcottret

谢谢!#2620开启。

artf

谢谢你的报告,马修grapesjs/src/dom_components/model/ComponentImage.js 的 getAttrToHTML 函数应该调用 this.getSrcResult(不确定是否使用备选选项),而不是 this.get('src')来获取 base64 编码的图像 src 属性 没错,忽略备援选项,它只在图片加载失败时才会在画布中使用。注:这不满足将 embedAsBase64 选项设置为 false 的情况,也许在这种情况下可以使用一个...

#26182020年3月3日作者 verloka1 个回答
0 个反应

:如何在开始时关闭标签页。

嗨。 如何自动关闭带有块的标签页?我的意思是,编辑器启动时标签页应该关闭。 ![无题](https://user-images.githubusercontent.com/5623092/75777633-f6f85400-5d5e-11ea-94f7-260556441eac.png)

artf

https://github.com/artf/grapesjs/issues/318#issuecomment-330210088

#26172020年3月3日作者 rufusnguyen1 个回答
0 个反应

启用拖曳模式到单个组件的内部,而不是编辑器

你好@artf, 我把Grapesjs建板的dragMode设置为“绝对”,然后构建一个截面组件,确保所有其他组件都必须放在截面组件中。 ![图片](https://user-images.githubusercontent.com/6136341/75757994-f4e5c380-5d65-11ea-9c3e-59db73b88472.png) 不过,部分部分应忽略其“绝对”性,应保持静态。我尝试过:移除拖曳模式:构建者绝对在截面组件中添加dmode:“绝对” 但没成功。你能给点建议吗?

artf

如果你在初始化配置中声明了dragMode,那它就会成为所有组件的默认值,然后如果你愿意,可以根据组件 https://github.com/artf/grapesjs/issues/1936#issuecomment-521269499 更改拖模式

#26162020年3月3日作者 Rasazna2 个回答
4 个反应

如何使用editor.getSelected().append(<div>'...');

警告 请阅读并遵循接下来的五个步骤,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md仅将GitHub Issues用于BUG、功能请求或问题。在问题标题前加上上下文,例如:“[虫子]:.......'先快速搜索一下,看看有没有人没开同样的问题不要要求为你创建示例或代码,先阅读文档和API,然后你可以发布你尝试过的(我们希望看到你的代码)以及你无法实现的所有相关陈述/问题都必须填写/回答,否则问题可能已结束你正在提交一个漏洞你用的是最新版本吗(旧版本不支持)?如果不确定,在控制台输入“grapesjs.version”并按回...

pouyamiralayi

@Rasazna下面的例子中,我是在“被选中”事件中使用的,所以无论你点击一个项目,你的更改都会生效! 干杯!

Rasazna

我不明白如何使用 editor.getSelected().Append(<div>'...'); 功能 。有人能举个例子吗

#26152020年3月2日作者 vinu-noldor2 个回答
0 个反应

:未找到“范围”特征类型

你好@artf, 感谢你创建了这个精彩的仓库!我遇到了一个存在于网站演示(https://grapesjs.com/demo.html)和本地版本中的bug。当我添加地图方块并点击它更改特质值时,控制台会出现类似这样的错误: ![图片](https://user-images.githubusercontent.com/61001081/75694037-91e62500-5cb0-11ea-90fd-7d6606b6e30a.png) 我查了主 Grapesjs 仓库,没找到定义这个类型的。请你调查一下。

artf

看起来像是误报,我已经设置了警告以便调试,但忘了未找到类型会退回到简单输入,比如“<input type=”TRAIT-TYPE“...”。我会尽量在下一次发布时修复它

vinu-noldor

谢谢@artf

#26142020年3月2日作者 makbari3 个回答
1 个反应

自定义组件的递归视图更新

你好, 我定义了一个自定义类型,比如: “JavaScript 编辑。DomComponents.addType('customType', { 型号:{ 默认值:{ 类型:'customType', 标签名称:'customTag', 可文本:1, 可拖拽:正确, 可拖拽:['p', 'div', 'span'] }, }, isComponent(el: HTMLElement) { 令结果; const tag = el.tagName; if (tag == 'CUSTOMTAG') { 结果 = { 类型:'customType', 标签名称:tag.toLowerCase(), }; } 返回结果; }, 浏览量:{...

makbari

好的。我找到了一个变通办法。既然这个问题太具体了,我就结束了这个问题。 感谢大家的支持。

artf

如果你做的是“element.innerHTML = res.result”;你只需要把内容放成静态内容,编辑器不会解析成组件,你可能需要的是更新模型“model.components(res.result)” 我建议你多关注[组件工作原理](https://grapesjs.com/docs/modules/Components.html#how-components-work),看起来你还不太清楚模型和视图的区别......

makbari

谢谢你的回复。 目标是保持模型为“<customTag></customTag>'',内容渲染为静态。然而,我没有找到在渲染时对静态内容做出反应的方法。这也是我想把模型和视图分开的原因,这样源代码里就有“customTag”。

浏览所有主题