#34192021年4月27日作者 emyasnikov2 个回答
你想给GrapesJS添加什么? 正如[BUG: Panels“可见”属性不阻止面板渲染](https://github.com/artf/grapesjs/issues/3418)中所述,我尝试在初始时阻止面板渲染。因为可见属性对我不起作用,我尝试了一些变通方法,直到调用渲染后发现所有更改都消失了。所以最好的方法是接入事件,但我什么都没找到。 我觉得渲染后触发事件会是个不错的补充,如果是的话,我很想帮忙。 最新版本有替代方案吗?[x] 是的(描述替代方案)[ ] 不 我是在自己输入 editor.render()后调用 'editor.trigger('render')' 实现的,然后用 'editor.on('render',...
artf
谢谢@emyasnikov我会关闭这个帖子,并保持漏洞问题开放
ClaudeCode
谢谢你举报,@emyasnikov。 FEAT:在editor.render执行后要挂钩的事件的问题似乎是一个竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)...
#34152021年4月26日作者 mmotov4 个回答
你好! 我正在为资产管理器构建一个自定义模态,基本上,我似乎需要覆盖“open-assets”“”命令。 我如何理解用户是否想设置图片src或背景图片属性? 提前感谢大家!
advancedsoftwarecanada
赞同,我刚开始用GrapeJS,并让它在我的系统上运行起来,想在头部div上设置背景图片,而不用写CSS代码 :/
artf
实际上,关于资产选择的知识不应该包含在指挥系统本身,因为行动应由谁来执行命令来决定,例如: “''js editor.runCommand('open-assets', { onSelect(asset) { const cmp = editor.getSelected(); cmp && cmp.addStyle({ 'background-image': 'url(“${asset.get('src')}”)' }) } }); ``` 我建议你检查一下当前的[命令](...
advancedsoftwarecanada
这并不是我们问题的正确解决方案。 我想做的是把这个功能添加到一个组件里,我们该怎么做? 
#34142021年4月26日作者 sidh013 个回答
从右面板拖动组件时,组件模型没有设置成默认值,而是保留之前添加组件的值  
sidh01
我已经解决了这个问题,问题是当我们设置模型属性时,我需要用深度克隆来做数组或对象
artf
你好@sidh01这肯定是你这边的问题,如果你能制作出可复现的演示,我们可以尽力帮你。
ClaudeCode
谢谢你举报,@sidh01。 感谢你分享关于创建新拖拽时组件模型不会重置的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。Grape...
#34082021年4月21日作者 marcepoblet2 个回答
目前我们有这个GrapesJs风格:  不过,我们想要的是GrapesJs的风格:  我的问题是: 1——我们怎么改变设备中的格式?我们希望用按钮而不是下拉菜单。 2- 是否可以将“查看代码”和“全屏”按钮...
Ju99ernaut
你只需要设置设备,或者在按钮点击事件中执行相应命令,比如, “''js btn.addEventListener('click', function() { editor.setDevice('桌面'); }); ```
ClaudeCode
谢谢你举报,@marcepoblet。 关于[问题]如何更改设备样式、查看代码和全屏的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('so...
#34032021年4月14日作者 John-Oula4 个回答
我如何创建多个页面?
GoodPHP
嘿,现在它需要自己去建立。 我们已经解决了: https://gjs.market/products/pages-manager
Ju99ernaut
正在为那个 https://github.com/Ju99ernaut/grapesjs-template-manager 开发插件,虽然还在开发中,但现在状态相当不错。
echobinod
使用VueJS的多页面管理器: https://github.com/echobinod/GrapesJS-Vue.js.git
#34002021年4月12日作者 GoodPHP3 个回答
我们是[DevFuture](https://devfuture.pro/grapesjs-development/),开发了集成GrapesJS + ckeditor5的插件。 视频示例: https://www.youtube.com/watch?v=xn4gSMIrx-A 我们认识很多人很久以来都在寻找这种集成。我们做到了。 如果你对这个插件感兴趣,请联系我们的联系人。 更多细节: https://devfuture.pro/grapesjs-development/ 谢谢!
GoodPHP
是的,每卖插件20%我们会派人支持GrapesJS。 如果你买插件,你会支持 GrapesJS。
theSC0RP
@GoodPHP 这是付费插件吗?
ClaudeCode
谢谢你举报,@GoodPHP。 关于Ckeditor5 + GrapesJS现在可以实现!的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somet...
#33952021年4月9日作者 Abhisheknanda13444632 个回答
你好@artf请观看附带的视频。 我检查过移动视图,发现移动视图和编辑移动视图不同。 大家有什么看法吗? 或者说,应该是这样工作 [屏幕录制 2021-04-09 2:55.45 PM.zip](https://github.com/artf/grapesjs/files/6284716/Screen.Recording.2021-04-09.at.2.55.45.PM.zip)
Abhisheknanda1344463
已经修好了。 问题已定。
ClaudeCode
谢谢你举报,@Abhisheknanda1344463。 关于观察-:移动视图不一致的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('somethin...
#33942021年4月8日作者 alext27933 个回答
如何通过自定义富文本编辑器 CKeditor 向 UndoManager 添加撤销/重做事件?
Ju99ernaut
“UndoManager”通常会追踪组件模型的变化,所以如果你能以某种方式记录组件中rte的变更,可能会有效。我不太确定具体怎么操作,所以无法给出更详细的描述。无论如何,ckeditor 自带了撤销管理器,或者你也可以用它,你可能需要在配置里包含撤销/重做按钮
artf
是的,正如@Ju99ernaut已经提到的,所有主要的RTE编辑都实现了自己的撤销管理器。事实上,当启用RTE(内置或自定义)时,所有快捷方式都会被禁用,以避免干扰文本编辑(当你编辑文本并按CTRL+Z时,你期望能撤销已编辑的文本)。
ClaudeCode
谢谢你举报,@alext2793。 关于UndoManager添加的好问题。ProseMirror 推荐的方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something cha...
#33872021年4月5日作者 assadnazar4 个回答
我们能不能添加一个通过URL加载的选项? 例如: 我们把一个URL传递给初始化,然后它用编辑器初始化页面?
Ju99ernaut
由于CORS的限制,很难提出通用解决方案。
artf
由于CORS的限制,很难提出一个通用的解决方案。 没错,如果你打算加载某个外部网站的 HTML,你应该有服务器来获取内容。
assadnazar
@Ju99ernaut,@artf我想加载相同域名的页面来编辑 HTML。
#33862021年4月3日作者 maivanchuong1 个回答
你好, 我不更改配置 AssetManager,示例:modalTitle、addBtnText、uploadText,... 希望你能帮帮我
ClaudeCode
感谢你报告,@maivanchuong。 感谢你分享关于GrapesJS不更改配置AssetManager的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更...