GrapesJS 问题

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

找到 877 个问题

🔍 question
#32412021年1月20日作者 CarlucciMods1 个回答
0 个反应

从演示版导入HTML和CSS到升级版,一次性导入?

如何从演示版导入HTML和CSS到升级版,一次性导入?

ClaudeCode

谢谢你举报,@CarlucciMods。 关于从演示版导入HTML和CSS升级版,一次性导入?的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.lo...

#32392021年1月18日作者 harsh2014 个回答
5 个反应

如何动态地从组件脚本更新属性/属性?

我们有一个用例,想用 [Highcharts Editor](https://github.com/highcharts/highcharts-editor) 动态插入图表。我创建了一个组件,拖拽后会打开基于模态的组件,根据用户选择返回一个SVG图像。 我想知道如何把它加到模型的身体里。目前我用 innerHTML 插入,但 getHTML 的 div 里没有 SVG 图片。 组件代码: “'' js domc.addType('charts-component', { 型号:{ 默认值:{ 标签名称:“div”, 脚本, js: '', SVG: '', 属性:{ 类别:“高图”, }, '剧本道具': ['js', 'SVG'...

artf

在这种情况下,你不需要用 JS 组件(在你的最终代码中你不执行任何 JS),对你来说,这样就足够了: “''js domc.addType('charts-component', { 浏览量:{ 事件:{ dblclick:“onActive”,// 以便双击重新打开模态 }, onActive() { const { model } = this;模型是分量 const modal = 高。ModalEditor(({ export }) => { 静态内容使用“cont...

harsh201

抱歉发了垃圾信息。我无法从工作笔记本上传使用场景视频。 https://user-images.githubusercontent.com/2502711/106098322-d39c7b80-615e-11eb-8569-cf76ffc7fcc7.mov

harsh201

@artf 任何帮助都将不胜感激。我又看了一遍文件,也没发现什么特别的地方,可能我漏掉了。

#32382021年1月18日作者 sizhousama3 个回答
1 个反应

:如何加载外部JavaScript,我尝试了所有方法,没用

我用块写html字符串,需要引入很多外部脚本和样式,但我尝试了所有方法,拖动块到画布时脚本不生效,样式可以加载,希望能得到帮助。通过附加子加载 ![图片](https://user-images.githubusercontent.com/40018231/104894741-fbc0f900-596c-11eb-9d92-2d5c1e59f4d3.png)init load by canvas:{scripts:[...]} ![图片](https://user-images.githubusercontent.com/40018231/104894830-14c9aa00-596d-11eb-909f-e6bcf2aa6cef...

harsh201

@sizhousama我在初始化Grapesjs编辑器时通过Canvas加载脚本/样式表,对我来说是正常的。 “'' js 画布:{ 剧本:['https://unpkg.com/abc.js'], 风格:['https://unpkg.com/abc/dist/css/abc.min.css'], }, ``` 更多详情可见[这里](https://grapesjs.com/docs/modules/Components-js.html#dependencies)。 希望...

sizhousama

控制台显示已加载 ![图片](https://user-images.githubusercontent.com/40018231/104895114-62dead80-596d-11eb-9f6e-0b73d17b3f02.png)

ClaudeCode

谢谢你举报,@sizhousama。 关于[问题]:如何加载外部JavaScript,我尝试了所有方法,都没用。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => consol...

#32372021年1月15日作者 Abhisheknanda13444634 个回答
2 个反应

添加特征 包装

你好@artf 我就是这样加了包裹特性。 我该如何执行初始化函数 这是代码 “''js editor.getWrapper().set('traits', [ { 变革提案:1, 名称:“ABC”, 标签:“ABC”, 类型:“勾选框”, 变革提案:1 }, ], ) ``` @artf 你能帮帮我吗? 谢谢。

artf

你可以在init https://github.com/artf/grapesjs/blob/69e5ab2c1176e6fdeac1b058398cca55efe92df3/src/dom_components/config/config.js#L9 上用组件里的这个选项 附言:别再用你的问题烦别人了,拜托,否则我得把你从这个仓库拉黑

Abhisheknanda1344463

抱歉@artf我会记住的。 谢谢

Abhisheknanda1344463

@ryandeba 有什么建议吗?

#32352021年1月15日作者 AnnaSu1 个回答
0 个反应

“component:update”在组件移动时不会触发

摘自 https://github.com/artf/grapesjs/blob/dev/src/editor/index.js#L33'component:update' - 当组件被更新(移动、样式等)时触发,模型作为参数传递给回调 重现这个bug使用“move”API 移动组件https://grapesjs.com/docs/api/component.html#move点击箭头上/箭头下按钮https://codesandbox.io/s/charming-mendel-ivrlz?file=/index.html ![图片](https://user-images.githubusercontent.com/17810...

ClaudeCode

谢谢你举报,@AnnaSu。 “component:update”在组件移动时不触发的问题,似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于...

#32342021年1月15日作者 tonypartridge1 个回答
0 个反应

绝对模式和动态标签位置不正确......

我遇到这个问题......我有一个“文本”框,设置为全宽,但中心放一个名字短码。然后生成PDF和HTML页面,并期望名称会成为核心。但由于名称大小可能不同,我刚意识到绝对定位仍然是取容器大小的值,而不是设定宽度。相关示例见附图。 我们有什么建议能解决这个问题吗? 我们在生成HTML和PDF文档时使用绝对定位。 ![葡萄-j-design](https://user-images.githubusercontent.com/1400982/104709811-3fbac080-5717-11eb-8656-66a2db1ec600.png) ![葡萄-js-html](https://user-images.githubuserco...

ClaudeCode

谢谢你举报,@tonypartridge。 关于绝对模式和动态标签位置未正确......的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('someth...

#32332021年1月15日作者 Abhisheknanda13444632 个回答
0 个反应

在每个组件上设置工具栏

你好@artf 有没有什么标准方法可以在每个组件上添加一个新工具栏 我试过这种方法 “''js 编辑。Components.getTypes().map(type => { 编辑。Components.addType(type.id, { 型号:{ 默认值:{ 工具栏, 特质:[ ...编辑。Components.getType(type.id).model.prototype.defaults.traits, ...[ ] ] }, } }) }); const toolbar = [{ 属性:{ 等级:“Fa Fa-Arrow-Up” }, command: e => e.runCommand('core:component-...

artf

按照问题模板(版本、实时演示等)操作。

ClaudeCode

谢谢你举报,@Abhisheknanda1344463。 关于在每个组件上设置工具栏的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...

#32322021年1月15日作者 matiasmasciotta2 个回答
0 个反应

拖放组件:

你好,我遇到了以下问题: 我需要一个事件类型编辑器(“sorter: drag: end”),在所有这些情况下都会被投掷: (检测我投放的元素和位置) 1- 当你从blockManager拖放一个元素并放到画布上时,让它听到。 2- 当你把已经组件化的元素从画布拖到画布的另一个区域时,让它听到声音。 3- 当我在 layerManager 中移动元素时会听到这个声音。 用排序器我解决了情况2,1没有出现,因为元素还没有被分成,所以在尝试添加属性时,在被分成之前,它作为标准元素被添加到html画布中,忽略了我手动添加的属性。 你能帮我吗? 谢谢

bgrand-ch

你好, 对于未来的问题或技术问题(非漏洞),GitHub的[讨论](https://github.com/artf/grapesjs/discussions)标签是最佳选择。 如果问题已解决,请关闭,或在[讨论](https://github.com/artf/grapesjs/discussions)->[问答](https://github.com/artf/grapesjs/discussions/categories/q-a)类别写一条详细的新消息(并关闭本期)。...

ClaudeCode

谢谢你举报,@matiasmasciotta。 关于拖放组件的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something change...

#32312021年1月13日作者 vatte214 个回答
2 个反应

如何更改 GJS-CKEDITOR-Format 组件

大家好, 我们都知道 GJS-CKeditor-plugin 是处理 [data-gjs-type]=“text” 组件的。 我想知道,我们能不能改变这个选项? 我想自己创建一个自定义组件,比如 [data-gjs-type]=“anyDiv”,并且拥有类似的功能 [data-gjs-type]=“text”。也许有人知道怎么改变? 也许我可以在 CKeditor 配置里改一下?例如,当我们初始化CKeditor时: 选项:{ !!!!!例如: 格式:'text',想添加('anyDiv'), 语言:“恩”, startupFocus:确实如此, extraAllowedContent: '();{}', // 允许任意类和任意内...

Abhisheknanda1344463

@vatte21 让你的组件可以编辑。你必须这样扩展组件中的文本类型 “''js 编辑。Components.addType('anyDiv', { 型号:{ 默认值:{ 类型:“文本”, 特质:[ ...编辑。Components.getType(type.id).model.prototype.defaults.traits, ...[] ] }, reRender() { this.view.render(); }, }, 扩展:“文本”, isComponent:...

vatte21

@Abhisheknanda1344463 谢谢!我会试试

abulka

@Abhisheknanda1344463你的代码片段给我提示错误“Uncaught ReferenceError: type is not defined” “类型”在哪里定义?

#32282021年1月12日作者 Abhisheknanda13444631 个回答
0 个反应

组件价值没有变化

你好@artf 我添加了一个新组件 这是代码 “''js 编辑。DomComponents.addType('header', { 型号:{ 默认值:{ 标签名称:'h1', 类型:“头部”, 尺寸:“H1”, 特质:[ { 名称:“尺寸”, 标签:“尺寸”, 类型:“选择”, 变革提案:1, 选项:[ {值:'h1',名称:'One'}, {值:“h2”,名称:“二”}, {值:'h3',名称:'三'}, ] } ], 内容:“请在此插入你的头文字” }, init(){ this.listenTo(this, 'change:size', this.更新头); }, Updatehead(){ var newElem = $(...

ClaudeCode

谢谢你举报,@Abhisheknanda1344463。 关于组件价值没有变化的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethi...

浏览所有主题