GrapesJS 问题

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

找到 3,464 个问题

#23112019年10月6日作者 gabrielbitencourt3 个回答
0 个反应

为链路组件设置href

大家好。 我正在尝试修改原生链接组件,目前我有一个模态,在 dblclick 事件时会打开,用户可以在一些预定义的链接中选择。问题是,当我选定了链接时,无法将其设置为组件。 我在特性管理器里输入链接时,它运行正常。 这是我尝试的代码: domc.addType('link', { 浏览量:{ 事件:{ dblclick: 'linkModalPicker', }, async linkModalPicker(ev: MouseEvent) { ev.preventDefault(); const ref = modal.open(LinkModalComponent, { 宽度:“70%”, 身高:“70%” }); const...

artf

@gabrielbitencourt Link 组件没有 href 属性,所以直接添加到属性中 “''js 如果(链接) { this.model.addAttributes({ href: link.url }); } ```

gabrielbitencourt

谢谢你的回复@artf 我试过了,但也没用,我能在特质管理器里看到 href 是用 'model.addAttributes({ href: link.url })' 设置的,但当我取消再重新选择组件时,这个问题没有持续存在,结果的 'editor.getHtml()' 锚标签中 href 也没有空。 我觉得这可能和我在这里看到的一些漏洞有关,比如#1290 谢谢

artf

,但当我取消选择并重新选择组件时,问题没有持续存在 也许是因为你还在读“this.model.get('href')”...... 顺便说一句,没有可复现的演示,我帮不上更多忙

#23102019年10月5日作者 AbdallaMohammed3 个回答
1 个反应

我如何指定拖拽元素的位置?

你好,我正在做一个用这个库的项目,想指定拖拽组件的位置 比如我有一个 div,id=“drag-here”,我希望所有组件只在这个 div 里被拖拽 希望你们能理解我,谢谢大家

pouyamiralayi

我没有组件,我用的是方块 根据以下内容:我有一个 div,id=“drag-here” 我猜你的阻碍大致是这样的: 你对集装箱块的处理方式是: 以及目标块: 干杯!

pouyamiralayi

我有一个 id=“drag-here”的 div,我希望所有组件只在这个 div 里被拖拽 如果你的意思是所有组件只能在目标组件中拖拽,可以使用“可拖拽”[属性](https://grapesjs.com/docs/api/component.html#properties)。 通过在组件上指定可拖拽功能,比如这样: 干杯!

AbdallaMohammed

通过这样指定可拖拽组件: 谢谢你快速回放,但我没有组件,我用的是方块

#23092019年10月5日作者 shubhd471 个回答
0 个反应

—有没有办法添加按字母顺序排列的列表

嘿,@artf感谢你创建了这个超棒的库。真的很有帮助。 我在Angular里用它,也用过带数字的顺序列表,但如果能添加字母顺序的顺序列表或者罗马数字,那会非常有帮助 我也在尝试这个 但没用。请帮帮我

artf

你好@shubh9415默认的RTE依赖于['execCommand API'](https://developer.mozilla.org/it/docs/Web/API/Document/execCommand),所以唯一可用的选项是“insertOrderedList”和“insertUnorderedList”。

#23082019年10月5日作者 rajasubburaj1 个回答
0 个反应

创建图片链接后图片没有调整大小

'''let selectedComponent = editor.getSelected(); 令 href = this.getHref(); 令title = this.title; let childHtml ='<a id=“${selectedComponent.ccid}” title=“${title}” href=“${href}” target=“_blank” class=“gjs-comp-selected”>${selectedComponent.view.el['outerHTML']}</a>'; const coll = selectedComponent.collection; const at...

artf

你通过做这个“selectedComponent.view.el['outerHTML']来实现组件的扁平化,因此你移除了它的所有属性。 阅读更多关于[组件](https://grapesjs.com/docs/modules/Components.html)的工作原理。

#23072019年10月4日作者 Amitkumar855331 个回答
2 个反应

GRAPES JS 中的 API 调用

大家好, 我用GrapesJS里的@fullcalendar创建了一个日历插件 现在我想调用一个 GraphQL API 来获取日历中的事件。 如何在GrapesJS中实现这个功能? 提前感谢!!!!

pouyamiralayi

如何在 GrapesJS 中实现这个操作? 你可以在 [script](https://grapesjs.com/docs/modules/Components-js.html#components-js) 里调用 API。 无论你用什么js library打电话,都没问题。 干杯!

#23062019年10月4日作者 dukie661 个回答
1 个反应

如何移除“自定义代码”和“提示”块?

我用 Grapejs 演示网站的脚本来学习和构建。 有没有办法移除所有方块,然后添加我自己的方块?

pouyamiralayi

你好!关于移除方块: 关于添加你自己的方块,请参见[此](https://grapesjs.com/docs/modules/Blocks.html#custom-render)。 干杯!

#23052019年10月2日作者 rajasubburaj1 个回答
1 个反应

Grapesjs 已选元素中的 Wrap 和 UnWrap 功能无法正常工作

if(data.component.get('tagName') === 'img') { const selectedComponent = editor.getSelected(); const href = this.getHref(); const childHtml ='<a href=“${href}”></a>' $('img#${selectedComponent.ccid}').wrap(childHtml); data.component.view.render(); 编辑。Modal.close(); }

pouyamiralayi

[自动包裹](https://github.com/artf/grapesjs/issues/2179)

#23032019年10月2日作者 megarg3 个回答
2 个反应

更新为新的自定义组件的HTML格式

我想更改 toHTML 的输出方式。我想修改现有的HTML输出。 我尝试了component的“toHTML”属性允许返回新的HTML元素但它不允许获取已有的 HTML,然后再更新并返回 我尝试在 toHTML 内部调用 toHTML,想要访问原始组件 html,但正如预期,它陷入了无限循环。 有没有办法访问现有的toHTML,这样我就能修改它,然后以新的“toHTML:”返回。编辑器或导出会使用新的输出。

megarg

我通过以下方法解决了这个问题 toHTML: 函数 () { 令el = '<script> console.log(“此处添加文字”)</script>'; el = defaultType.model.prototype.toHTML.apply(this) + el; 返回EL; }, 非常感谢你的支持

scott-coates

要获得“defaultType”,请执行以下操作:'var defaultType = editor.DomComponents.getType('default');' 这也适用: “JavaScript var prototype = Object.getPrototypeOf(this); var el = prototype.proto.toHTML.call(this); 返回EL; ```

pouyamiralayi

嗨!你试过在“toHTML”里用“component.view.el”吗?它会让你访问当前的“DOM”。 干杯!

#23022019年9月30日作者 Amitkumar855333 个回答
2 个反应

如何通过 GrapesJS 导出功能获取外部插件 CSS、JS 和 HTML?

我用外部插件 JavaScript 版本的 @fullCalendar 接入 GrapesJS。我能在画布上渲染日历,但无法使用 GrapesJS 导出功能来获取以下内容的 JS、CSS 和 HTML。 我试过用 1) var html = editor.getHtml(); 2) var css = editor.getCss(); 3) var js = editor.getJs(); 4) editor.on('component:mount', comp => console.log(comp.toHtml()); 日历在画布上渲染 - ![日历1](https://user-images.githubuserconten...

pouyamiralayi

.但我们无法在MODEL中用渲染功能拖放后,在画布上向用户显示日历,这也是我们在视图中使用OnRender的原因。 你试过我给你发的组件类型定义吗? 它已经经过测试,效果很好: ![图片](https://user-images.githubusercontent.com/53266765/65950646-54ecdc80-e44b-11e9-848a-8f81b52a28d2.png)那么,单靠模型本身就足够渲染并添加 HTML 导出功能吗?如果是的话,能否解释一下具体...

Amitkumar85533

非常感谢,@pouyamiralayi。 你给的代码正在工作。 我们的代码无法选择主导元素来渲染日历。 现在它正常工作了。 非常感谢你帮我们解答,!!!:-p

pouyamiralayi

你好!你要找的是[在组件中使用 JS](https://grapesjs.com/docs/modules/Components-js.html#basic-scripts)。 只需在Canvas脚本和样式部分包含必需的JS和CSS: 之后,自己构建[自定义类型组件](https://grapesjs.com/docs/modules/Components.html#define-custom-component-type): 然后在代码预览中,你会看到结果脚本: ![图片...

#23002019年9月30日作者 CatalinCernea3 个回答
5 个反应

如何更改类别的顺序?

我看到通过添加“订单”标签@JuanTincho做了更改,但我只能在新创建的类别上添加。 我是从“GrapesJs-Preset-Webpage”开始的。 有没有办法在初次渲染后更改顺序? 这就是我通过添加新块来添加新类别的方式。 <pre>编辑。BlockManager.add('Cards', { 标签:“卡片”, 内容: '<div class=“ic-cards”><span>将你的内容放在这里</span></div>', 类别:{ 标签:“MyCategory”, 顺序:1, 开场:真 }, 属性:{ 标题:“插入卡片”, 职业:“法法立方” } });</pre>

CatalinCernea

>但我只能在新创建的类别上添加。你可以通过“getAll”函数对所有方块实现这一点。更多相关内容[这里:](https://grapesjs.com/docs/api/block_manager.html#getall)你的情况可能是这样的: 谢! 谢谢!我会尽快试试。 祝你有美好的一天。

pouyamiralayi

但我只能在新创建的类别上添加。 你可以利用“getAll”函数对所有方块进行操作。更多相关内容[这里:](https://grapesjs.com/docs/api/block_manager.html#getall) 就你来说,可能是这样的: 干杯!

DzevadS

为什么这里会出现“未捕获类型错误:n 未定义”的错误? 在帖子#780中,应该可以以下方式更改方块顺序 const bm = 编辑器。BlockManager; [“链接”、“地图”、“h导航栏”、“倒计时”、“形式”等 ].forEach(function (item) { bm.remove(项目); }); const bltext = bm.get('text').set({ 标签:“Titel”, 类别:“我的类别”, }); const bltextbasic...

浏览所有主题