#23112019年10月6日作者 gabrielbitencourt3 个回答
大家好。 我正在尝试修改原生链接组件,目前我有一个模态,在 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 个回答
你好,我正在做一个用这个库的项目,想指定拖拽组件的位置 比如我有一个 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 个回答
嘿,@artf感谢你创建了这个超棒的库。真的很有帮助。 我在Angular里用它,也用过带数字的顺序列表,但如果能添加字母顺序的顺序列表或者罗马数字,那会非常有帮助 我也在尝试这个 但没用。请帮帮我
artf
你好@shubh9415默认的RTE依赖于['execCommand API'](https://developer.mozilla.org/it/docs/Web/API/Document/execCommand),所以唯一可用的选项是“insertOrderedList”和“insertUnorderedList”。
#23082019年10月5日作者 rajasubburaj1 个回答
'''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 个回答
大家好, 我用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 个回答
我用 Grapejs 演示网站的脚本来学习和构建。 有没有办法移除所有方块,然后添加我自己的方块?
pouyamiralayi
你好!关于移除方块: 关于添加你自己的方块,请参见[此](https://grapesjs.com/docs/modules/Blocks.html#custom-render)。 干杯!
#23052019年10月2日作者 rajasubburaj1 个回答
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 个回答
我想更改 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 个回答
我用外部插件 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()); 日历在画布上渲染 - 那么,单靠模型本身就足够渲染并添加 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): 然后在代码预览中,你会看到结果脚本: 你的情况可能是这样的: 谢! 谢谢!我会尽快试试。 祝你有美好的一天。
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...