GrapesJS 问题

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

找到 3,464 个问题

#19692019年4月20日作者 minuwan2 个回答
0 个反应

重命名属性(编辑器)

有没有办法把“data-gjs-”属性重命名为“data-myOwnProjectName-”? 例如:“data-gjs-type” => “data-myOwnProjectName-type”“data-gjs-droppable” => “data-myOwnProjectName-droppable” 等等......

artf

不,目前是硬编码的 https://github.com/artf/grapesjs/blob/5fe64423b2a4c94f5b3cd9b7b8e1d887a8896ab0/src/parser/model/ParserHtml.js#L4

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19682019年4月19日作者 sakshigarg92 个回答
0 个反应

获取那些被撤销的行动信息

是否有可能提取出被撤销的内容信息? 我试过了 但我无法获取具体被撤销的内容,'在'model.attributes'下'property之后'的值是null。我想提取执行该动作的元素的ID,以及样式/移除/属性/编辑的更新。

artf

检查“model.attributes.type”以了解执行的操作,可能“之后”是空的,因为操作是“移除”

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19672019年4月19日作者 iainheng1 个回答
0 个反应

用 div html 包装内置组件

我正在尝试用一个<iframe>父容器 '<div class=“embed-responsive embed-responsive-responsive-16by9”/>' 包裹专门针对 YouTube 的“视频”组件。 这是我想实现的最终效果示例: '''html <div class=“embed-responsive embed-responsive-16by9”> <iframe class=“embed-responsive-item” src=“https://www.youtube.com/embed/zpOULjyy-n8?rel=0” allowfullscreen></iframe> </div> ```

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19662019年4月19日作者 trafalmejo3 个回答
0 个反应

环绕所有组件

大家好, 我想为画布上添加的每个按钮创建一个套接字。这样运行得很好。但是,当我用存储加载时,我必须找“按钮”类型的组件并重新打开插槽。这是不是用来循环组件? 此致,

artf

你好@trafalmejo如果你需要迭代组件的第一层子节点,可以这样做: “''js yourComponent.components().forEach(component => { 如果 (component.is('组件-ID')) { 做点什么 } }) 组件渲染完成后,你还可以使用“查找”方法,传递任意查询选择字符串 “''js yourComponent.find('[data-gjs-type=COMPONENT-ID]').forEach(component...

trafalmejo

完美!非常感谢。

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19652019年4月13日作者 vinayakprabhu3 个回答
0 个反应

自定义内容类型

@artf 我们能不能不用插件、js文件,而是像我下面那样用html创建自己的内容?这样做正确吗? ''js blockManager: { 附录:'#blocks', 方块数:[ { ID:“文本”, 标签:“List”, 属性:{class: 'fa fa-list-alt'}, 内容: '<div data-gjs-type=“text” data-highlightable=“1”><ul><li>List 1</li><li>List 2</li><li>List 3</li></ul></div>', 激活:真, 分类:“标准界面元素” }, ``` 抱歉格式有点,无法格式化...... 提前感谢大家。

artf

这样做正确吗? 是的......

vinayak99999

谢谢你的回复@artf我还有一个查询,想要一个垂直旋转木马。所以从上面的代码片段来看,我该在哪里添加比如Jquery或脚本来实现延迟或滚动效果

artf

创建一个新的[组件类型](https://grapesjs.com/docs/modules/Components.html),并按照本指南操作:https://grapesjs.com/docs/modules/Components-js.html

#19642019年4月13日作者 richbai902 个回答
0 个反应

创建自定义组件的最低要求

我整天都在看关于创建自定义组件的文档。我也看过 grapesjs-mjml 作为例子。我正在尝试为 react 组件创建一个基础类型,可以根据需要扩展,但目前我只想知道调用哪些生命周期方法以及何时被调用。我正在尝试具体区分“render”和“toHTML”这两个词。我只做了一个基础组件并做了一些日志记录,但似乎没什么效果。这是我的代码 “''js 从 'react' 导入 React; 导出默认编辑器 => { var comps = 编辑器。主导组件; var defaultType = comps.getType('default'); var defaultModel = defaultType.model; var def...

artf

首先,开始使用组件的[改进定义](https://grapesjs.com/docs/modules/Components.html#improvement-over-addtype)。 在你的例子中,“content: (<div>Foo</div>)”会被编译成一个对象,当你在编辑器中添加一个对象或数组时,意味着你不再需要解析过程,所以你永远不会点击“isComponent”,因此该类型不会被初始化。 顺便说一句,你想和你的剪辑师达成什么效果并不那么明确

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19632019年4月13日作者 benvmatheson2 个回答
0 个反应

Component 在 API 文档里有个破折号

在 API 文档中,组件头部前面会加上破折号。不确定这是不是故意的。 ![图片](https://user-images.githubusercontent.com/9043745/56070411-e86b0d80-5d44-11e9-80b6-5a4507c5f9f0.png)

artf

是的,本意是强调它属于DOM组件模块,但看来我没做到 😬

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19622019年4月12日作者 Ramkumar-Murugesan2 个回答
0 个反应

还有其他方式可以听,特征选项会变化吗?

你好,我添加了监听用户在下拉菜单中选择值时所做的更改的代码。但我需要听代码中其他地方的修改。 在上述更改中,运行正常。但我需要在别的地方听这些变化。 ![图片](https://user-images.githubusercontent.com/33427536/56033259-d045bf00-5d41-11e9-8b2d-f8028ad725ea.png) 有人能帮帮我吗?

artf

你可以使用全局监听器 'editor.on('component:update:mytype', ...)'或在本地方法内触发某个自定义事件 “''js ... init() { this.listenTo(this, 'change:mytype', this.mytype); }, mytype() { alert('被召唤的实体'); editor.trigger('YourEvent', { mytype: this.get('mytype') }); } ......

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19612019年4月11日作者 micker3 个回答
0 个反应

部分用户回报

你好,我尝试用 grapesjs 作为终端用户来构建页面,结果是:当我们使用列块时,如何选择行来改变宽度?真的很难用......我创建一个框+文本,真奇怪,无法更改框的高度,总是75px......真奇怪如何创建四列元素? 感谢你的Feat部分,真的很厉害。

artf

当我们使用列块时,如何选择行来改变宽度?真的很难用...... 你可以在样式管理器(维度扇区)中更改行宽我创建一个框+文本,真的很奇怪,无法更改框的高度,总是75px......真奇怪 请始终检查样式管理器中的数值如何创建四列元素? 只需克隆选中的列

micker

好的,谢谢,我会试试!

lock[bot]

由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。

#19602019年4月10日作者 davydav3 个回答
0 个反应

带模板的动态类生成

你好! 我想知道有没有办法在模板导入时强制生成动态类(形式为“cXXXXX”,当我拖拽组件时发生)? 问题是,当我使用模板时,编辑器中生成的组件没有那个动态类,而我需要在手机/平板模式下编辑时能够生成媒体查询。 供参考,这是我导入的模板: https://gist.github.com/davydav/2413f5fdaa154a80dfa49a633bd247bb 非常感谢你出色的工作! ![截图 2019-04-10 16 08 33](https://user-images.githubusercontent.com/272360/55885905-0dc41400-5bab-11e9-9adf-4e952715aaf4.p...

artf

你好,Davy,如果你需要类,可以在模板里已经设置好;如果你需要动态类,可能会用 [events](https://grapesjs.com/docs/api/editor.html#available-events) 比如 'component:add' 或 'block:drag:stop'

davydav

谢谢你的回答!有没有办法访问你的类生成方法,或者你能指引我它在你的代码中的位置吗?我一直在找,但一直没找到! 再次感谢

artf

https://github.com/artf/grapesjs/blob/5fe64423b2a4c94f5b3cd9b7b8e1d887a8896ab0/src/dom_components/model/Components.js#L70-L87 如你所见,它在添加时被调用,所以你实际上可以禁用它(用“forceClass”选项),实现你自己的逻辑

浏览所有主题