GrapesJS 问题

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

找到 3,464 个问题

#21772019年7月31日作者 alikabeer323 个回答
3 个反应

如何创建包含 HTML 和 CSS 和 JavaScript 内容的块。

有人能给我演示一下如何用JavaScript和CSS样式创建块的代码示例吗? “''js 编辑。BlockManager.add('a_block', { 标签:“Sample Block”, 内容: '<style> .sampleclass{ 填充:10像素 15像素; } .sampleclass2{ 不透明度:0; 可见性:隐藏; } .sampleclass:hover > .sampleclass2{ 可见性:可见; 不透明度:1; } @media(最大宽度:768px){ .sampleclass{ 宽度:100%; } } </style> <div class=“samplecalss”>Text<div cl...

pouyamiralayi

你好!你要找的是[这里](https://grapesjs.com/docs/modules/Components-js.html) 编辑。DomComponents.addType('custom-type',{ 模型:{ 默认值:{ 脚本:函数 () { console.log(“你好的世界”); } }, isComponent(){ 返回真 } }, }) 你必须在块定义之前定义自定义类型。 然后在你的区块内容中修改这行,注入你的类型: <div data-gjs-...

alikabeer32

谢谢。

alikabeer32

谢谢。

#21762019年7月31日作者 yucomds2 个回答
2 个反应

模态接近:未捕获类型错误:无法读取在V处未定义的属性“长度”(cash.js:702)

你好, 我有个代码,点击自定义按钮时会显示一个模态。 一键点击,模态显示正确。然后我关上它。现在,如果我再点一次,控制台里会出现这个错误: ![想象](https://user-images.githubusercontent.com/42735351/62206598-77527300-b392-11e9-8d68-747abc6ca932.png) 只有当我再次点击自定义按钮时,才能再次显示。 我已经按照这里提供的说明操作了——> https://grapesjs.com/docs/modules/Commands.html#stateful-commands 但我还是搞不明白。 我的GrapeJS版本是:“0.14.62”(...

pouyamiralayi

你好!我觉得问题不在你的模态上,而是你运行的第一个命令: 'testo = editor.runCommand('gjs-get-inlined-html');' 你也必须停止它: 'stop: function (editor) { 编辑。Modal.close(); editor.stopCommand('gjs-get-inlined-html') }` 干杯。

yucomds

谢谢@pouyamiralayi!

#21752019年7月31日作者 yanosuke2 个回答
0 个反应

:Canvas Touch 支持 iOS

我的客户还需要在手机上使用 GrapesJS 平台,所以我目前使用 GrapesJS-Touch 插件。问题不在于插件本身,而在于 GrapesJS 代码中缺少一个方法。问题和解决方案由Mikereem通过以下链接提供:[https://github.com/artf/grapesjs-touch/issues/1] 总结一下链接:在iOS设备上点击画布完全没有反应。在 toggleSelectComponent 函数中添加“methods[method](body, 'touchend', this.onClick);” 可以解决这个问题。该方法与普通的 onClick 方法完全相同,只是在“e.stopPropagation(...

artf

我很乐意合并一个PR

saltyfoam

我们正在使用 GrapesJS,希望能在移动端获得更多支持,希望能通过!

#21742019年7月30日作者 pouyamiralayi暂无回答
0 个反应

StopCommand('preview')

你好!我不知道怎么发送 PR,请在 [链接](https://github.com/artf/grapesjs/blob/dev/src/commands/view/Preview.js)修复这个 bug。 第31行:helper.onclick = () => editor.stopCommand('preview'); 必须是:helper.onclick = () => editor.stopCommand('core:preview'); 我遇到的是原版的问题。 提前提醒一下。

#21732019年7月30日作者 Amir28281 个回答
0 个反应

动态移除性状

大家好, 我想请教一下,有人能解释一下如何动态地从组件中移除特征吗? 比如说,假设我有一个特征,它决定下面会显示多少个新的特征。 当数量增加时,会添加更多特征;减少时,会删除特征。 我看过攻略,但没找到任何成功。 任何帮助我都会感激。

Amir2828

算了,我看到后来的版本增加了一个功能

#21722019年7月28日作者 danrcoull3 个回答
2 个反应

问题:有没有办法用基于特质的占位符

你好,不确定这里是不是提问的合适地方。 尝试将文本区的内容加载到这个框架中。 但很多链接在默认HTML中都有占位符,比如<a href=“{{placeholder for default url }}”,有没有办法在画布中渲染这个链接,但不修改原始HTML?

zgover

你的问题并不完全清楚你想达到什么效果,但可以看看[创建组件](https://grapesjs.com/docs/modules/Components.html#define-new-component)。

pouyamiralayi

嗨!对于选择模型,你可以使用编辑器。Modal和内容,注入你想要的逻辑来选择和配置你的小部件。然后你可以用 yourComponent.components(yourWidget) 注入结果小部件,用你的小部件填充块内容。 关于 AJAX 渲染部分,你也可以在组件类型定义的视图属性中定义一些逻辑。

danrcoull

抱歉,让我解释一下 比如 {{widget name=“test” type=“\Php\Class”}} 这样的 CMS 小部件 具体操作是拖动一个方块,打开一个小部件,选择模型选择小部件,设置选项后点击添加,生成部件,就像上面提到的那样。这需要将 ajaxly 渲染到 canvas,但保留 html 和上面提到的控件。 我也做过类似的资产管理,能让普通占位符正常工作,但那个小部件里的变量值可能不同

#21712019年7月28日作者 talya-akshota暂无回答
0 个反应

如何在 Grapesjs 中创建图表块,如果可能的话?

警告 请阅读并遵循接下来的五个步骤,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md仅将GitHub Issues用于BUG、功能请求或问题。在问题标题前加上上下文,例如:“[虫子]:.......'先快速搜索一下,看看有没有人没开同样的问题不要要求为你创建示例或代码,先阅读文档和API,然后你可以发布你尝试过的(我们希望看到你的代码)以及你无法实现的所有相关陈述/问题都必须填写/回答,否则问题可能已结束你正在提交一个漏洞你用的是最新版本吗(旧版本不支持)?如果不确定,在控制台输入“grapesjs.version”并按回...

#21702019年7月26日作者 inaLar3 个回答
1 个反应

自定义组件——如何将可编辑设置为 true。

你好,我创建了一个自定义组件类型,但在让它可编辑时遇到了一些困难。 该组件是一个带有组件类型“标签”的“span”。它只包含文本,但我想扩展默认部分,而不是文本组件。有没有什么办法能让它更可编辑,即使它不是“文本”? “''js comps.addType('tag', { 型号:{ 默认值:{ 类型:“标签”, 标签名称:“span”, 可编辑:正确, 可掉落:错误, 属性:{ 'data-gjs-type': 'tag', }, 可文本:1, 特质:[{ 类型:“选择”, 标签:“Tag”, 名称:“Selected-Tag”, 选项:tagTypes, }], }, isComponent: function(el) { 令...

inaLar

谢谢!我做过类似的事情,但你的情况没那么复杂。我之前绑定了其他活动,所以没法用它。现在我把它们拆下来了,我会按照你的建议去做。 关于“data-gjs-type”——我需要它,因为我创建的内容是存储的,重新加载时必须识别组件,才能加载它们的设置/特性,尤其是我添加的这个自定义类型组件。你也可以通过特质改变内容,这会让事情变得复杂:) 附言:@artf 你做得非常出色!

zgover

如果你不打算扩展文本组件类型,你想让它可编辑,你的意图和目标是什么?文本组件类型扩展了默认类型,并增加了如富文本编辑器等编辑功能。你打算自己实施RTE吗?[富文本编辑器 API](https://grapesjs.com/docs/api/richtexteditor.html#richtexteditor)。否则,可以查看文本组件类型的源代码,找出你不想要的部分,然后把你想要的部分重新实现到你自己的组件里。

inaLar

我更倾向于不使用 RTE,因为我不需要它的任何功能。我只想编辑内容并保存(编辑是指点击跨度,修改文本然后再次保存)。 而且新类型会有特定的特征,选择后会被添加到画布上。 如果我想用字体中的某个组件,我不会问:) 谢谢你建议我更仔细地研究文本部分——我会的。

#21692019年7月26日作者 froderf2 个回答
0 个反应

块占位符

我刚注意到,如果占位符(比如网上演示中看到的黄绿色线)只是一个 lign,那么从工具箱拖拽方块/组件会很难。 有没有可能把“黄绿色线/占位符”变成一个方框,在拖拽方块时,这个占位符应该占用一些空间,就像新元素出现一样? ----------------------- 例如: 默认值:https://imgur.com/Ym69GDt 有没有可能让它成为一个有高度的方块塔哈斯,下面所有其他元素都会往下移动以腾出空间? 像这样 https://imgur.com/WbLbyZw

artf

你可以用自定义CSS改变这条线的体面,但不能移动其他组件,占位符的DOM就像画布上方的一层,而不是它们之间的

FawadOmerEsk

你能稍微解释一下我们如何更新自定义CSS吗?

#21682019年7月25日作者 jadejahardipsinh3 个回答
0 个反应

自定义 HTML DOM 的更改在保存到数据库时会被反映出来

我用以下代码创建了新的工具栏选项,叫做text-align “''js const rteStudio = studio.RichTextEditor; rteStudio.add('text-align', { icon: “<select id=\”textAlignSelector\“ class=\”gjs-field lm select\“>” + “<选项值=''>选择对齐</option>” + “<选项值=\”左\“>左</option>” + “<期权值=\”中心\“>中心</option>” + “<期权价值=\”right\“>Right</option> ” + “</select>, attributes...

artf

确保使用最新版本,并在调用所需命令前尝试调用选中的组件的“sync:content”,例如: “''js editor.getSelected().trigger('sync:content'); editor.runCommand('gjs-get-inlined-html') ```

jadejahardipsinh

@artf,谢谢你的回答。我试过了,但很遗憾没用。我用以下代码获得这个问题: “''js studioCommand.add('com-save', { run: function(studio, sender) { studio.getSelected().trigger(“sync:content”) var studioContent = studio.runCommand('gjs-get-inlined-html'); 使用 ajax 调用将 studioCont...

artf

@jadejahardipsinh Grapesjs 版本?

浏览所有主题