GrapesJS 问题

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

找到 3,464 个问题

#4812017年11月3日作者 mathieuk3 个回答
17 个反应

问题:将方块拖入文本方块?

这不是bug,而是实现上的问题。如果这里不是提问的合适地方,请告诉我。 我们正在开发一个实现,希望利用 GrapesJS 允许用户创建电子邮件模板。作为实现的一部分,我们正在努力创建邮件合并功能:我们引入了“合并字段”或“占位符”的概念,这些概念将在服务器端用合适的值替换。这意味着我们会发送“组件”的JSON结构,并将其转为服务器端的HTML,并在操作过程中替换值。 举个例子,我们的一个用户可能会输入text: 'Hello <<username>>',我们会把合并字段'<<username>>'替换成合适的字段。 但我们还没能用这种方式实现,因为我们无法将这些块拖拽到文本块中。我们只能拖着它绕圈子。所以,目前我们用合并字段的“内...

artf

你检查过 [API-Rich-Text-Editor](https://github.com/artf/grapesjs/wiki/API-Rich-Text-Editor)吗?你可以添加类似的自定义动作 “''js 编辑。RichTextEditor.add('custom-vars', { 图标:“<select class=”gjs-field“> <option value=“”>- 选择 -</option> <option value=“[[firstname]...

artf

很可能在下一次发布中,这个功能会上线。 ![可发短信](https://user-images.githubusercontent.com/11614725/55838123-a8791000-5b23-11e9-8866-c2059a972fc5.gif) 所以“textable”只是另一个属性,这样可以把任何组件丢弃在文本组件里。 以下是上述示例中组件的代码: “''js 定义一个具有“文本”属性的组件 编辑。DomComponents.addType('var-pla...

mathieuk

是的,我用过,基本上已经能用了。区别在于我不像你那样使用文本占位符。我实际上是在插入一个块(带有对应的“类型”),以便进一步配置这些占位符(例如,字段可能是Datetime字段,用户可能想配置该日期时间的精确输出格式)。我用HTML5拖放实现了这个功能,效果挺不错的,bút...... 这感觉像是偏离了预期的用户界面。我觉得我应该能把合并字段从“方块”拖到正确的位置。我一直在尝试分拣器来实现这个功能,我现在已经准备好了: ![图片](http://g.recordit.co...

#4782017年11月2日作者 HarshOB3 个回答
0 个反应

如何在同一个标签下制作两个文本框?

你好, 是否可以在同一个标签下创建两个文本框?如果可能,我该如何创造它? 谢谢。

artf

@HarshOB我不明白问题出在哪里。你试过直接拖动另一个输入吗?

HarshOB

是的,我试过了,但没用。比如我想在一个标签前面放两个文本框,就像下面图片所示,我想在同一标签“TOKEN”下做两个文本框。 ![截图来自2017-11-09 17-13-33](https://user-images.githubusercontent.com/28950214/32606056-d6b513ba-c579-11e7-8ceb-bf19d6730084.png)

artf

#477的复制品

#4772017年11月2日作者 HarshOB3 个回答
0 个反应

默认情况下禁用特质,之前特质变更时启用下一个特质。

你好, 所以,我想在组件设置中定义两个特质。第一个是CheckBox,另一个是TextBox(可以有多个)。我将定义第一个复选框,即多个输入字段。当基础上勾选/勾选下一个复选框/输入字段(默认禁用)时,将启用。我该如何实现这样的目标? 谢谢。

artf

@HarshOB 你查过维基里关于[特质](https://github.com/artf/grapesjs/wiki/Traits)的资料吗?我在那里解释了如何添加复选框输入以及如何应对它们的变化。如果不清楚,你能指出我应该补充什么吗?

HarshOB

这里我再用截图解释一次。你可以看到,在一个复选框下有两个文本字段。所以,当我点击复选框/勾选那个复选框时,这两个输入字段会被启用(我希望它第一次加载时能禁用)。 ![截图来自2017-11-09 17-13-33](https://user-images.githubusercontent.com/28950214/32605877-2f792bfe-c579-11e7-8db9-1efec4a6eee5.png)

artf

不,这不是内置特征能做到的,但你可以通过扩展[默认的](https://github.com/artf/grapesjs/blob/dev/src/trait_manager/view/TraitView.js)来定义自己的类型(甚至可以包含所有输入)

#4762017年11月1日作者 Geczy3 个回答
0 个反应

跨度被剥离——不良行为

例如,如果我通过 grapesjs import 命令导入 '<p><span style=“font-size:50px;”>hi</span></p>',以下内容被设置为组件: '<p data-highlightable=“1”>hi</p>'。失去了我的风格

Geczy

你可以在 http://grapesjs.com/demo-newsletter-editor.html 上复制 我的问题在这里有描述 https://github.com/artf/grapesjs/issues/341 https://github.com/artf/grapesjs/blob/dev/src/parser/model/ParserHtml.js#L145

Geczy

就我而言,最好不要去掉“<span>',而是保留在HTML里。为什么要移除它? 要注意以下情况: '''html <p style=“font-size:12px;”><span style=“font-size:50px;”>嗨</span>,嘿</p> ``` 解析器之后的预期输出应该是什么? Hi应该是50像素,嘿应该是12像素。这就是为什么HTML解析器不应该移除跨度

artf

我同意你的看法,Matt,确实,正如前面提到的,我也想把它移除,但需要找时间测试,确保它没有破坏其他东西。 我以#341为结尾

#4752017年11月1日作者 ateshuseyin3 个回答
0 个反应

在移除资源前打开确认对话框

我想在移除资源管理器中的图片之前打开一个确认对话框。既没有任何功能,也没有合适的 API。

artf

你可以使用Assets文档中的代码 “''js 扩展原有的“形象” 编辑。AssetManager.addType('image', { 浏览量:{ onRemove(e) { e.stopPropagation(); const model = this.model; confirm('你确定吗?') & model.collection.remove(model); } }, }) ``` 把它放进插件里,否则它不会对已经定义好的图片生效

ateshuseyin

@artf 谢谢

lock[bot]

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

#4732017年11月1日作者 arunBenchamin2 个回答
0 个反应

外部样式表

干得漂亮。如果网页样式被移到样式表,装饰部分的大部分CSS属性就无法从样式表加载,会有点问题。 (例如:头部的背景-图像属性)

artf

如果你把CSS作为远程资源加载,这种行为是正确的。针对你的情况,一个变通方法是通过 ajax 加载 CSS,然后用 'editor.addComponents(<style>'${cssText}</style>''' 添加结果

lock[bot]

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

#4722017年11月1日作者 mekamleshk2 个回答
0 个反应

模态

你好@artf 我正在尝试在保存时点击保存模板到数据库,我想在 Toast 中显示成功信息。 你能帮我举几个示例代码吗? ![无题](https://user-images.githubusercontent.com/16983847/32262987-af968c0a-befd-11e7-8784-9e54d7baf17c.png)

artf

使用存储事件(你可以在这里找到完整的事件列表:[API Editor](https://github.com/artf/grapesjs/wiki/API-Editor)) “''js editor.on('storage:store', res => { // ...做点事 }) ```

lock[bot]

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

#4712017年11月1日作者 tomichal3 个回答
0 个反应

第三方库样式碰撞

你好, 我想在编辑器中加入第三方样式和JavaScript。 它们的添加方式如下: 我遇到的第三方CSS问题是,它的一些样式规则与编辑器的样式规则发生冲突,比如第三方库使用了一个类“行”。 有没有推荐的解决办法?也许我漏掉了什么明显的解决办法?感谢任何帮助,也感谢你创建了这么棒的编辑器!

tomichal

我查看了 https://github.com/artf/grapesjs-blocks-basic 插件,发现我遇到的问题似乎来自那里,即插件没有使用grapesjs编辑器的“stylePrefix”''配置设置,尽管最初是从编辑器里获取的: https://github.com/artf/grapesjs-blocks-basic/blob/22d7799d7ecfccd55da67035acb797c8e7f86ccd/src/index.js#L4 在编辑器获得“s...

artf

你好@tomichal看起来你已经准确知道问题出在哪里了。 我结束这篇文章,转而支持 https://github.com/artf/grapesjs-blocks-basic/issues/2

lock[bot]

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

#4702017年10月31日作者 mekamleshk3 个回答
0 个反应

模态误差

你好@artf 当我尝试点击发送测试按钮时,它会给我这个错误,我试过更新版的 grapesjs-preset-newsletter ![捕获](https://user-images.githubusercontent.com/16983847/32224638-52d62c90-be68-11e7-8b5a-89aca14183da.PNG)

artf

@mekamleshk那个按钮被移除了,你也可以在这里查看 http://grapesjs.com/demo-newsletter-editor.html

mekamleshk

@artf 我知道你之前已经移除了它,但我之前用它作为弹出窗口来保存模板到数据库。 是因为它完全脱离了框架吗?

artf

它从来不是框架的一部分,只是我用来定制的一个面板 https://github.com/artf/grapesjs/blob/gh-pages/demo-newsletter-editor.html

#4672017年10月31日作者 perfect-coders3 个回答
0 个反应

把焦点放在其他元素上

我在点击某个元素时打开了一个弹窗,但焦点仍然在我点击的元素上。我想重点放在弹出式元素上。 葡萄里有什么方法吗?

artf

你说的是哪款弹窗?内置模态?

perfect-coders

我用 Grapejs 做了一个自定义弹窗,然后在元素点击时打开。所以我想让用户点击元素时,会弹出一个窗口,并且默认选择了弹出窗口。 现在发生了什么,我在点击链接元素时打开弹出式元素,弹出式元素会显示,但控件仍然在链接元素上,我想把控制项移到弹出式 div 上。

artf

如果是你自定义的弹窗,我觉得你自己负责管理焦点

浏览所有主题