GrapesJS 问题

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

找到 3,464 个问题

#17162019年1月8日作者 chiqui3d3 个回答
0 个反应

面板里有块?

我正在寻找一种方法,可以把一组方块添加到自定义面板里,我说的是方块而不是按钮,因为它们需要“拖放”功能? 我有哪些可能性?

artf

你好@chiqui3d你可以告诉编辑器在初始化时何时添加块: “''js Grapesjs.init({ ... blockManager: { 附录:'#block-container', } }) ``` 然后使用 ['BlockManager.render'](https://grapesjs.com/docs/api/block_manager.html#render)方法(查看示例)渲染过滤后的块

chiqui3d

谢谢@artf,但我仍然看到这只适用于一个面板,我不明白怎么能有两个面板,一个对应某些区块及其类别,另一个区块有其他类别。 这让我无法独立于普通模块创建预设面板,因为我可以手动添加,但那样我就无法实现API中的函数。

chiqui3d

难道没有办法让两个面板用不同的模块吗?

#17152019年1月7日作者 JulioDavidMartinez3 个回答
0 个反应

你好,我是你们项目的新成员,但我很喜欢。我在图像属性方面遇到了一点小问题。

我在图片的特征管理器里新增了两个特征。宽度和高度。 我是按照你的例子把它作为插件添加的。 它完全能用,还能让我编辑图片的宽度和高度属性。 问题是现在资产管理公司已经不工作了。如果我禁用更改,资产管理器就能恢复正常工作。有没有办法让两者都正常工作? 我的新特质和图片的资产管理器? 这是我添加新特质的代码。 激活时我只需调用函数名作为插件。 难道我做错了什么?请帮帮我!!! “''js 函数 AddImageTraits(editor) { var domComps = 编辑器。主导组件; var dType = domComps.getType('default'); var dModel = dType.model; var dV...

arthuralmeidap

试着覆盖“图片”类型本身,而不是“默认”类型

artf

正如@arthuralmeidap已经提到的,你必须扩展“图像”部分。 所以在你的情况下(使用最新的葡萄版本),可能只是: “''js 编辑。DomComponents.addType('image', { 型号:{ 默认值:{ 特质:[ “名字”,“身份”,“替代”,“宽度”,“身高”] } } }); ```

lock[bot]

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

#17142019年1月7日作者 chiqui3d3 个回答
0 个反应

RTE中的自动选择组件

当我从RTE添加链接时,它没有被选为链接组件,我必须取消选择作为文本的父组件再重新选择,因为这不会直接生效?我以为RTE的优势在于,如果我从RTE添加一个组件,该组件的TRAIT选项会显示出来。不过我也不必再退出短信:(

chiqui3d

我不知道这是不是正确的方法,但我是这样做的: “''js const rte = 编辑。RichTextEditor; rte.remove(“链接”); rte.add('link', { 图标:“<I class=”fa fa-link“></i>', 属性:{ 标题:“链接”, }, 结果:rte => { const anchor = rte.selection().anchorNode; const nextSibling = anchor & anchor.ne...

artf

我以为RTE的优势在于,如果我从RTE添加一个组件,会显示该组件的TRAIT选项。不过我也不必再退出短信:( 你说@chiqui3d得对,但编辑时 HTML 文本是“平面”的,所以只有关闭 RTE 时,文本才会在组件中解析和转换。你的解决方案实际上有效(而且还不错),因为有这个“selectedText.set('content', selectedTextInner)”和[listener on 'content'属性](https://github.com/artf/g...

lock[bot]

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

#17132019年1月7日作者 adamlc2 个回答
0 个反应

删除元素 - 通讯演示

在通讯中,某些元素无法删除。比如试着移除“自由开源”按钮或葡萄标志。 我本地的葡萄也遇到这个问题。奇怪的是,如果你试图拖动元素但不移动它,它就会被移除。在macOS上使用Chrome 71。 希望这样说得通! https://grapesjs.com/demo-newsletter-editor.html

artf

你好@adamlc,这个和#1699有关

lock[bot]

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

#17122019年1月6日作者 froderf3 个回答
0 个反应

页首和页脚

我在考虑添加多页,带有页眉和页脚 目前我有个想法想实现多页,但不知道怎么实现页头和页脚。 以目前的 API 方法,似乎没有解决办法 请帮忙解决这个问题,因为检查后发现这件事还没有问题

froderf

页眉和页脚应该对所有页面保持一致

artf

你必须使用 [自定义组件](https://grapesjs.com/docs/modules/Components.html) 示例 https://jsfiddle.net/5vcc3en6/

lock[bot]

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

#17112019年1月5日作者 fulus063 个回答
0 个反应

移动画布后提示位置出现错误

1、移动画布 2、点击layerManager(如果不点击layerManager 不会出错) 3、画布里的提示框位置出错 1、移动画布 2、点击layerManager(如果你不点击layerManager,也不会出错。) 3、图片中小费箱的位置不对。 ![葡萄问题](https://user-images.githubusercontent.com/12890684/50725484-1f73c680-1139-11e9-9fec-ebcc79afb559.gif)

artf

感谢报告@fulus06能否提供一个可复现的演示 https://jsfiddle.net/?

fulus06

@artf https://jsfiddle.net/fulus06/kqsezd0c/5/ ![葡萄问题](https://user-images.githubusercontent.com/12890684/50779460-5da8eb80-12db-11e9-9489-07ee7ce4023c.gif)

lock[bot]

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

#17092019年1月4日作者 cmoutafidis2 个回答
0 个反应

是否可以通过父组件的样式管理器影响子组件的样式?

你好! 很棒的项目,感谢你的贡献。 我想知道是否可以通过父组件的样式管理器更改子组件的样式。 比如,我有一个组件块。父组件包含所有其他组件。通过点击父组件并进入样式管理器,我希望能够通过样式属性或自定义特征来更改子组件的样式。 提前感谢大家。

artf

这可能有点难,但你能做到。 你肯定得创建一个自定义的[组件](https://grapesjs.com/docs/modules/Components.html),并且在其初始化方法(model)里放置监听器到特征/样式。然后,在监听器的回调方法中,你会使用 ['find'](https://grapesjs.com/docs/api/component.html#find)方法来检测子组件

lock[bot]

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

#17082019年1月4日作者 charlietoleary3 个回答
0 个反应

StyleManager 事件每次变更都会多次触发

复制: 在全新安装的GrapesJS中,在演示页面(index.html内)添加一个事件监听器,如下: 'editor.on('component:styleUpdate:width', (model) => { console.log(模型); });问题: 当更改任何元素的“宽度”值时,“model”变量会被多次打印。 当监听“列表”属性,如字体家族、字体权重或显示时,问题似乎更为严重。例如: 'editor.on('component:styleUpdate:font-family', (model) => { console.log(模型); }); 对于这类属性,我注意到在编辑器刚加载时(在任何用户互动之前)事件会多次触...

khbhr

你好, 我也遇到了同样的问题,既然还没解决,可以用去反弹技术来解决。 请查看这个[example](https://davidwalsh.name/javascript-debounce-function)。

ajumell

你好, 我也遇到了这个问题。事件即使没有改变宽度,事件依然触发,我在HTML页面添加了以下代码,日志被多次生成。 'editor.on('component:styleUpdate:width', (model) => { console.log(“组件宽度更新:”,型号); });` 我录制了视频证明,链接如下 https://drive.google.com/file/d/1zoTUN-e400YDVPXt2DESAemSL6STh0TU/view?usp=sharing

artf

我觉得修复已经在开发分支上发布了(所以已经准备好下一次发布了)。 https://github.com/artf/grapesjs/blob/0dba07fd21b8e2dd953100bec5b7531f0761c9c2/src/style_manager/view/PropertyView.js#L411-L413 我在当前的在线演示中看到多个事件,但在本地开发版上似乎没问题。如果你能通过本地开发分支确认,那就太好了。

#17072019年1月4日作者 hemanthmc3 个回答
3 个反应

在编辑器中查找图片链接

我正在尝试将 GrapesJs 集成到 reactJs 中。 请你帮我解答下面关于GrapesJs-React的问题吗? • 有没有办法找到编辑器中使用的图片链接?? 举个例子:当我在 grapesjs 编辑器里拖放图片时,它会创建一个带有图像 src 路径的图片标签。所以我希望所有图片路径都被编辑器内使用,所有图片路径都是我拖放到编辑器里的。

maryia-kabash

你好@hemanthmc 我建议订阅“sorter:drag:end”事件,然后把React方法当作回调传递。 在方法中检查是否丢弃了图像,并将其src存储到React状态或做任何需要的操作。 一个更详细的例子: 'this.grapesjsInstance.on('sorter:drag:end', this.onDragEnd);' 'onDragEnd(DataTransfer, modelToDrop) { if (modelToDrop && modelToDro...

hemanthmc

谢谢你的建议,@maryia-kabash。

artf

“''js editor.getWrapper() // 获取包装组件 .find('img') // 通过查询字符串查找所有内部组件 .map(comp => comp.getAttributes()['src']) // map found components ``` 组件API:https://grapesjs.com/docs/api/component.html

#17062019年1月3日作者 SeongwoonHong3 个回答
1 个反应

:如何从 RTE 获得 href?

![捕获](https://user-images.githubusercontent.com/19713918/50659409-81320600-0f6a-11e9-861f-a245b9a49672.JPG) 我有一个rte工具栏,你可以输入并点击“保存”,它会为所选文本创建一个链接。但问题在于输入字段的值应该是基于所选文本的动态。 如果选中的文本有href,输入字段里应该会显示href。 我如何在RTE结果或更新函数中获得所选文本的href? 这是我代码的一部分 谢谢你,阿图尔

SeongwoonHong

@artf 哇 你救了我的命!谢谢!我完全不知道自己要花多少小时才能弄明白...... 谢!现在有效了.....!

artf

'rte.selection()' 返回 [Selection](https://developer.mozilla.org/en-US/docs/Web/API/Selection) 对象,你可以用它来检测有指向节点(从中获得所有需要的属性)

SeongwoonHong

@artf 你能举个例子吗?我尝试了很多方法,但没找到用rte.selection()获取任何属性的方法...... 我真的很感激,阿图尔。

浏览所有主题