GrapesJS 问题

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

找到 3,464 个问题

#24092019年11月14日作者 promodnl1 个回答
0 个反应

带有弹出消息的表格小部件,用于接受行和列.....

嗨......有人能帮我弄一下桌子小部件吗?我怎么能在小部件的拖放上弹出一个窗口.....该系统会接受“否”。行和列。然后在编辑器中获取该表的行和列数。 那会是很大的帮助。 提前感谢大家!!

artf

试着阅读[入门指南](https://grapesjs.com/docs/getting-started.html),它大致总结了你的请求。唯一由你决定的是在模态中显示什么(比如输入界面)。

#24082019年11月13日作者 kickbk3 个回答
2 个反应

撤销时有事件监听器吗?

我正在监听组件删除和移动,同时使用 'removed()' 和 'sorter:drag:end'。 我希望能看到组件移动的最后一种方式是撤销一个移动。我需要听听那场活动。撤销有事件监听器吗?

artf

我们实际上支持[撤销/重做事件](https://grapesjs.com/docs/api/editor.html#available-events)

artf

我认为目前唯一可能跟踪这些变化的方法是使用“component:update:components”事件,它会传递添加或移除的组件

pouyamiralayi

@kickbk据我所知没有这样的事件,但我猜你可以通过听“component:add”事件来检测。 干杯!

#24062019年11月13日作者 promodnl2 个回答
2 个反应

为小部件包含 href 属性

你好, ##Can 有人帮我弄好任何小部件的href属性吗??我想为一个小部件拥有href属性。那我该怎么添加它呢?

pouyamiralayi

你好@promodnl你必须为你的组件定义一个[特征](https://grapesjs.com/docs/modules/Traits.html#add-traits-to-components)。

promodnl

你好@pouyamiralayi谢你的回复......

#24052019年11月13日作者 fmr4113 个回答
0 个反应

替换特征文本时,ckeditor 未被初始化

为什么当我更改CKeditor特性文本时,它没有被初始化 我的特质 <pre> domComps.addType('text',{ model: dModel.extend({ defaults: Object.assign({}, dModel.prototype.defaults, { 特质:[ {label:“Font Size”, type:“textfontsize”} ], }), }, { isComponent: function(el) { if (el.getAttribute && “text” == el.getAttribute(“data-gjs-type”)) return {type: “text”...

artf

既然你还在用旧的 API 定义(那个定义很容易出错),我建议你先阅读关于 [Component](https://grapesjs.com/docs/modules/Components.html) 的文档,然后你大概会找到问题所在

fmr411

还是有没有其他方法可以添加(针对文本)的特性,这样 CKeditor 就能正常工作了

artf

在文档里你可以看到如何扩展其他组件

#24042019年11月13日作者 scott-coates3 个回答
3 个反应

问题:如何观察儿童组成部分的变化

有没有简单的方法可以订阅/监听自定义组件类型中组件/子组件的更改?也许有个活动我可以订阅?比如“change:content”之类的? 我想给我的“容器”组件的子节点添加特征。如果孩子离开容器,这些特征应该会消失。 我能想到一个变通方法。大致是: “JavaScript 在视角中 this.el.bind(“DOMSubtreeModified”,function(){ alert(“已更改”); }); ```

pouyamiralayi

有没有简单的方法可以订阅/监听自定义组件类型中组件/子组件的变更? @scottccoates你可以通过以下方式订阅: 干杯!

scott-coates

@pouyamiralayi谢谢。我需要注意孩子们离开或进入我的部门。我不确定你提供的内容有帮助,还是我漏掉了什么?

pouyamiralayi

@scottccoates这可能有帮助: 干杯!

#24032019年11月12日作者 varadero3 个回答
0 个反应

Editor.load 可能导致内存泄漏

如何繁殖:导航到 https://grapesjs.com/demo.html打开浏览器控制台(Chrome),输入以下内容:“setInterval(() => editor.load(), 1000)”,然后按回车进入“内存”标签(Chrome)查看内存使用情况 发生了什么: 记忆力不断增强。如果你打开Chrome的“性能监控”,还能看到“DOM节点”和“JS事件监听器”不断增加。大约3分钟后,“JS堆大小”从24MB增加到1000MB,“JS事件监听器”从约1600增加到50000+,“DOM节点”从8600增加到1000000+。过一段时间后,浏览器标签页会因为高内存消耗而崩溃。 如果你用非常简单的 grapesjs 项目...

varadero

这很重要。如果不修复,GrapesJS尤其在SPA应用中使用时会很危险。

artf

我会去看看,但任何帮助都非常欢迎

diazemiliano

我这里也遇到同样的问题。 即使摧毁编辑器,问题依然存在。

#24022019年11月12日作者 varadero暂无回答
0 个反应

Editor.load 会移除样式

我用的是内置的本地存储管理器的“editor.load”,结果是元素的样式丢失了。 如何繁殖:导航到 https://grapesjs.com/demo.html(或使用新的 grapesjs 项目,并用 'storageManager: { type: 'local' }' 和 'plugins: ['gjs-blocks-basic']' 初始化)进入“块”,拖拽链接或文本块打开浏览器控制台并执行 'editor.load()'(或者如果你使用自定义项目,则执行编辑器实例的'.load') 发生了什么: 文本块/链接块的样式丢失了。如果你使用自定义(“干净”)项目,你会注意到在调用 'editor.load()' 之前,浏览器...

#24012019年11月12日作者 Indhumathi20162 个回答
6 个反应

如何检查某个组件或元素是否存在于Canvas中

我一直在尝试在加载时启用Trait中的复选框,当Canvas中有元素时,但遗憾的是我不知道怎么检查该元素是否存在,我正在用onRender()方法尝试以下代码 const canvasElement = editor.DomComponents.getWrapper(); 设isGdprEnabled = false; if (canvasElement.getEl().getElementById('gist-gdpr')) { isGdprEnabled = true; } 当我尝试上面的代码时,如果我用 getElementsByClassName 返回 HtmlCollection,它会返回 HtmlCollection,...

pouyamiralayi

你好@Indhumathi2016你可以使用[查找方法](https://grapesjs.com/docs/api/component.html#find): 干杯!

Indhumathi2016

@pouyamiralayi 这样操作时运行正常 editor.on('load', () => { const wrapper = editor.getWrapper() const el = wrapper.find('#gist-GDPR')[0] }); 谢谢

#24002019年11月12日作者 ned-kelly2 个回答
4 个反应

有没有可能从GJS以外的功能中“切换”面板里添加的按钮?

大家好, 首先,这个项目很棒,我非常喜欢将GJS扩展到我们的使用场景中——也很期待未来会带来什么,看看正在进行的一些问题和功能...... 所以,我用的是GJS,通过“addButton”在面板里添加了自定义按钮(比如这样): 现在切换或取消按钮时一切正常——不过我想在编辑器外运行“toggleCropMarkers()”函数,这个功能在切换按钮时调用——(这里是文档加载时调用)——我想手动将按钮状态设置为“toggled”...... 我试过:'编辑。Panels.getButton('options', '裁剪标记').changed.active = true',以及'.attributes.active = true',但...

pouyamiralayi

你好,@ned-kelly,试试这个: 干杯!

ned-kelly

@pouyamiralayi,你太棒了——抱歉问了这么简单的问题——之前在GitHub文档里找不到相关问题或评论!

#23992019年11月12日作者 imranali20453 个回答
0 个反应

SVG组件不可拖拽

你好, 我在 Angular 7 中使用 grapesjs。我想实现的效果是,当每当 canvas drop 方法调用时,我会在 canvas 中添加 svg 组件。我用 Add SVG 组件在 Canvas 上投放方法。但它不能拖拽。我附上我的代码和视频以便更好地理解。如果你帮@artf,谢谢你。 <code>const domComponents = this._editor。主导组件;</code> <code>const wrapperChildren = domComponents.getComponents();</code> <code>comp = wrapperChildren.add({</code> <cod...

imranali2045

@artf请确保,解决这个问题对我来说非常重要。谢谢。

artf

不幸的是,HTML5 拖放 API 无法支持 SVG 元素,所以如果你需要支持它,就必须把 SVG 组件包裹起来(比如用“div”元素包裹)。

imranali2045

@artf好的,谢谢

浏览所有主题