#37352021年8月30日作者 codingmachine164 个回答
你好,@artf, 我们用“选择选项”作为特质,但这些选项显示为输入。有时显示选项,有时显示为输入。我们的代码如下 defaults: Object.assign({}, defaultModel.prototype.defaults, { 特质:[ { 标签:“类别”, 名称:“noOfCategories”, id:“noOfCategories”, 类型:“选择”, 选项:[ { 编号:“0”, 名称:“无”, }, { 编号:“1”, 名称:“1”, }, { 编号:“2”, 名称:“2”, }, { 编号:“3”, 名称:“3”, }, { 编号:“4”, 名称:“4”, }, { 编号:“5”, 名称:“5”, },...
YumiChen
@artf 补充一下,这两天我们也碰到了这个。这似乎只发生在“0.17.25”版本。以下是Jsfidle的转载,如有需要请查看: https://jsfiddle.net/a29h7twy/5/ 繁殖步骤:将组件拖入画布选择组件并点击设置按钮检查特征选择性状作为输入显示。在开发工具控制台中会显示一些警告
codingmachine16
你好@artf 这个问题依然存在。这什么时候能解决? [特质]: 'select'类型未找到 {level: 'warning'}
codingmachine16
好的。当然。谢谢。供参考,这个问题在2022年0.17.000不存在
#37342021年8月30日作者 anatoli-dp4 个回答
正如问题所说,有没有办法通过自动保存以外的命令触发保存功能?不是键值对,而是能瞬间保存整个项目的命令?
csechrist
如果你设置了存储管理器,'editor.store()' 可以保存项目
artf
是的,你必须使用“editor.store()”
anatole-dp
Editor.store()没有参数,只会给我发送空数据。
#37332021年8月30日作者 anatoli-dp2 个回答
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 版本: 当前(我用的是最新版本) 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是...
artf
你是在取材外调用“clb”,在你的加载函数里 “''js Load(keys, clb) { 取(...)。那么(r => r.json()) .then(res => { ... CLB(结果) }) } ```
ClaudeCode
谢谢你举报,@anatoli-DP。 存储管理器(或一般问题)无法正确加载的问题?似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更...
#37322021年8月27日作者 aliibrahim1234 个回答
我正在开发一个脚本,可以在所有组件类型上添加一个特征,但注释类型没有原型对象。 代码 “''js ddw = 编辑。DomComponents.getTypes(); 对于(设i = 0;i <ddw.length;i++) { DDQ = ddw[i].id; 编辑。DomComponents.addType(ddq, { 模特:剪辑师。DomComponents.getType(ddq).model.extend({ defaults: Object.assign({}, editor.DomComponents.getType(ddq).model.prototype.defaults, { 特质:编辑。DomCompone...
artf
不要用“model.extend”/“view.extend”,那是旧API的一部分。 这就是如何正确扩展所有成分性状的一个例子 “''js const { Components } = 编辑器; Components.getTypes().forEach(({ id, model }) => { Components.addType(id, { 型号:{ 默认值:{ 特质:[ ...model.getDefaults().traits, 'new-trait', ] },...
skru
这是个很棒的解决方案,有没有什么建议可以针对函数中定义特征的组件?根据文档:https://grapesjs.com/docs/modules/Traits.html#add-traits-to-components
#37312021年8月27日作者 gustavohleal4 个回答
版本:0.17.25 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 通过在视图中添加事件来更新现有的类型文本组件。 详细描述那个漏洞 事件正在添加,但一旦我选择了另一个组件,就无法回到第一个组件。该版本只能提交一次。 你能附上截图、截屏或实时演示吗?**[x] 是(附上)[ ] 不 首先,我想扩展文本类型组件,添加一个事件来监听输入内容。 “JavaScript 导出默认(编辑器,opts = {}) => { const domc = 编辑。主导组件; domc.addType('text', { 浏览量:{ 事件:{ 按键:(e) => { console.log(“某些代码”) } } }, });...
gustavohleal
这其实就是问题所在。谢谢你的回复。我会关闭这期刊物。
ronaldohoch
+1:D 我们正在努力解决这个问题 https://github.com/artf/grapesjs/issues/1136 因为用 ckeditor 还是会出现这个问题。 
artf
“事件”不会自动合并到扩展组件中,所以你必须手动操作。 “''js 事件:{ ...domc.getType('text').view.prototype.events, 按键:(e) => {...} } ```
#37302021年8月27日作者 hrdkzala4 个回答
我创建了如下的组件。 “''js const script = function() { const script = document.createElement('script'); script.src = 'http://localhost:8888/builder/sites/site1/assets/js/jquery-1.12.4.min.js'; document.body.appendChild(脚本); }); “''js 编辑。BlockManager.add('site1', { 标签:“模板1”, 分类:“模板”, 内容:“<div>这是我的内容</div>。” }); ``` site1 - 是我现成的...
artf
抱歉,我不明白你的问题出在哪里。你创建了“comp-with-js”组件,但却没有显示你在哪里使用它...... 请提供一个可复现的演示。
mingxin-yang
拖动块后脚本功能无法工作 @artf
mingxin-yang
https://grapesjs.com/docs/modules/Components-js.html#basic-scripts
#37272021年8月26日作者 SintoDema4 个回答
你好,@artf, 详细描述这个漏洞 在用 GrapesJS 创建新模板时,我遇到了一个情况:当我们尝试从 import modal 导入 CSS 时,编辑器中没有反映出来。在一个空白编辑器上,我创建了一个模板,添加了HTML和CSS。之后,我需要在CSS部分做一些修改,为此,我选择了编辑器顶部的导入选项,滚动到底部的样式标签。我看到了导致问题的样式,我选中并删除了它。之后,我点击了导入按钮。 然后我检查了模板,样式问题依然存在。于是我再次打开导入模态确认样式不存在,并正确地移除了它。我看到我移除的风格还在风格标签里。我尝试过多次删除并导入。它没有从编辑器中移除。我再次打开导入模态时,它就在了。 目前的行为是什么? 从导入模态中移...
artf
你好@javadsamiee这个问题在最新版本的预设插件上已经修复了
artf
你好,@SintoDema问题就在这里 https://github.com/artf/grapesjs-preset-webpage/blob/3e5a9e12998c9a32b6f1199953084163678e6c17/src/commands/openImport.js#L15-L18 如你所见,它更新了组件,但不会清除样式模块。 我现在没时间做那个插件,但我建议你在那里开个问题/PR,总有一天我会修复的。
javadsamiee
你好@SintoDema问题就在这里 https://github.com/artf/grapesjs-preset-webpage/blob/3e5a9e12998c9a32b6f1199953084163678e6c17/src/commands/openImport.js#L15-L18如你所见,它会更新组件,但不会清除样式模块。我现在没时间做那个插件,但我建议你在那里开个问题/PR,总有一天我会修复的。 @artf 这个问题有最新进展吗?
#37262021年8月26日作者 ryprfpryr4 个回答
请问,有人能用清晰的步骤解释如何添加扩展吗? 非常感谢!
artf
我想你就是在找这个 https://grapesjs.com/docs/modules/Plugins.html
ryprfpryr
我想你在找这个 https://grapesjs.com/docs/modules/Plugins.html 嘿,@artf谢谢你的回复,但我真正需要知道的是如何给我的Grapesjs添加现有的扩展/插件。 我的主要目标是托管一个使用 demo 页面相同模块/扩展的 Grapsjs 实例。
artf
嘿,@ryprfpryr你可以在这里查看演示文件 https://github.com/artf/grapesjs/blob/gh-pages/demo.html
#37222021年8月25日作者 amansharmaagami2 个回答
我用它来制作动态PDF内容。 我想固定画布的高度,这样用户就不能从给定大小(高度)添加更多方块。 我想要删除滚动和一个消息或限制,比如不能添加更多物品之类的。 在同一个地方找到了一个旧问题 https://github.com/artf/grapesjs/issues/1803 如果更新成本高,请建议我如何实现同样的效果。
amansharmaagami
@artf 感谢你制作GrapesJS。
ClaudeCode
谢谢你举报,@amansharmaagami。 关于想添加固定尺寸画布的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...
#37212021年8月23日作者 christosapos4 个回答
你好,@artf。我想用Cypress工具在GrapesJs上运行一些测试场景。但我无法用Cypress模拟拖拽模式。你能帮帮我吗? 谢谢。
ronaldohoch
我觉得这对你有帮助: https://stackoverflow.com/questions/55361499/how-to-implement-drag-and-drop-in-cypress-test
christosapos
我也尝试过类似的方法,但对我没用......我觉得我的问题是,grapesJ的画布被渲染成iframe,带有块的表格渲染在这个iframe之外,而Cypress当我点击一个块拖动并放入iframe时,却无法处理iframe内部的内容。如果你成功了,告诉我。
ronaldohoch
我开发阶段还没到测试阶段 :/ 但我假装用Cypress。