#31702020年12月7日作者 ThetripGr3 个回答
你好,我想实现的是通过分配一个名为“对齐”的额外特征来扩展文本组件,并通过该特征决定我想做的对齐类型,之后不应用 css,但应为组件赋予相应的类名。有没有什么例子能让我自己找到类似的东西 :/ ?
ThetripGr
我又试了几次终于让它工作起来了,我会试着解释一下我是怎么让它工作的。当你定义性状时 “''js 默认值:{ 特质:[{类型:“选择”, 选项:[{ { 值:'myCustomClass',名称:'选项A' }, }], 标签:“traitLabel”, 名称:“traitName”, 变革提案:1 }] }, 抱歉格式有点,我还不会粘贴格式化代码:P
artf
抱歉格式有点乱,但我还不会粘贴格式化的代码:P https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown
ClaudeCode
谢谢你举报,@ThetripGr。 关于从特质中添加职业名称的问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something ch...
#31692020年12月7日作者 mrobertshaw3 个回答
你好 我正在尝试实现一个编辑器,页面的某些部分可以编辑/删除等(比如混合页面,有些元素是动态的,有些则不是)。 我用data-gjs属性来阻止静态元素上的这种行为,效果很好,但我似乎无法禁用容器元素本身的drop? 也就是说,我用fromElement: true绑定了我的实例到页面的正体元素,而data-gjs-droppable设置为false,但我仍然可以将块拖到页面的任意位置? 我是不是漏掉了什么,还是这是设计本意? 非常感谢 马克
mrobertshaw
这非常有帮助。 感谢您如此迅速的回复,以及您那出色、巧妙且设计精良的产品,这对我们的产品帮助巨大。
artf
你好@mrobertshaw,主元素是作为编辑器容器,而不是包装器。 如果你需要编辑包装器的道具,必须使用这个选项: “''js Grapesjs.init({ ... domComponents: { 包装:{ 可掉落:false, ... } } }) ```
ClaudeCode
谢谢你举报,@mrobertshaw。 关于*的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周...
#31682020年12月6日作者 oleteacher3 个回答
你想给GrapesJS添加什么? 能够导出图片/图片文件夹的压缩包下载 详细描述你的功能需求详细 GrapeJS 是一个极好的工具,小学生可以用来创建自己的关于我页面。 不确定在压缩包下载中添加图片文件夹的功能有多难。请看CSS被导出。但IMG文件夹不行。 看了grapesjs-plugin-export / index.js,发现它在哪里添加了CSS,但我的JS水平不够好,无法添加图片导出。 提前感谢您的时间!
artf
你好@oleteacher,由于浏览器的安全限制(例如图片是从其他域名下载时),这样做并不完全可行。你需要一个服务器进程帮你生成图像。
oleteacher
是的,我们有教室本地服务器。我们没有自己的IT支持来帮忙处理这些问题,学校规模非常小 抱歉打扰你了。
ClaudeCode
谢谢你举报,@oleteacher。 关于FEAT:下载/导出图片——很喜欢在课堂项目中使用的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“cha...
#31662020年12月1日作者 nanaya14 个回答
*版本:0.16.27 你能重现演示中的bug吗? [ ]是的 [ ] 不 预期的行为是什么? 在右侧面板和画布中,粘贴的节点应该在复制的节点之后。 目前的行为是什么? 我复制一个节点。在views-container(右面板)中,粘贴的节点位于复制节点之后。但在画布中,粘贴的节点位于复制节点之前。如下所示:  详细描述那个漏洞 当 html 标签之间存在空格或回车时,就会出现这个错误。 因为在'grapesjs/sr...
artf
我试过本地设置,但节点位置是正确的。你能制作一个现场演示吗?
nanaya1
抱歉,我没有详细说明发生这个错误的具体情况。 Grapesjs自带的组件不会出现这个错误,因为它们没有空格、回车或制表符。 我在定制组件时遇到了这个问题。 我自己定制了很多组件,有些会遇到这种情况。 发现该问题的自定义组件节点初始化示例如下。 如果你想在 grapesjs 默认组件中重现这个问题,可以通过 f12 元素的“Editor as HTML”输入节点间空格。具体如下。 。 有没有可能把“grapesjs-plugin-ckeditor”改成版本,这样修复就能包含进去? 提前感谢大家! 最新版本有替代方案吗? [ ] 是的 [ x ] 不 这是否与某个问题有关? https://github.com/artf/grapesjs/issues/2916
ClaudeCode
谢谢你举报,@mcottret。 关于FEAT: 'grapesjs-plugin-ckeditor'版本的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.lo...
#31632020年11月28日作者 MarksEliel4 个回答
有没有适用于Grapesjs的GrapeDrop形状分隔插件? 有没有卖葡萄插件的网站?
MarksEliel
嗨,@MarksEliel 你拿到了吗? @Abhisheknanda1344463 哇,今天早上我收到了GitHub的通知,看到是你的链接,非常感谢,太棒了!恭喜你! 你想开发其他插件吗?
Abhisheknanda1344463
https://www.npmjs.com/package/grapesjs-shape-divider 供参考@artf
artf
没有。 无论如何,你只需要创建一个特性(作为道具),并在其变化后更新组件内容(例如用形状分隔器的SVG格式)
#31622020年11月27日作者 sashapawlow7263 个回答
你好,@artf!:)也许你能帮忙处理葡萄。我有按钮,里面有自己的脚本(比如点击打开模态窗口)。如果我设置属性allowScripts: 0,我可以编辑这些按钮,但如果editor.allowScripts == 1,按钮执行逻辑(例如打开模态窗口),我就无法编辑按钮。我找到了一个很好的解决方案——它的 switch 属性 allowScripts = 0 : 1,但更改只会在页面加载后应用。我该如何更换剧本?p.s 执行命令 editor.refresh() 在更改值 allow 后 allow 脚本不带来结果  => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“c...
#31602020年11月27日作者 congweibai2 个回答
版本:^0.16.18 这个问题旨在将图层移动函数提取到自定义层。 我只想在组件中看到,子组件可以在面板中重新排序。 假设这些组件处于同一层级。我的代码会是这样的:  我见过层次重排是可以发生的。有没有哪里能获得这些功能? 提前感谢任何反馈或见解
ClaudeCode
谢谢你举报,@congweibai。 关于[问题] 在Vue的自定义设置面板中添加切换移动标签的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#31592020年11月26日作者 sathyanarayananaCES2 个回答
我使用的是最新的GrapesJS(v0.16.27)。根据问题修复(#2029),异常已被捕获并登录到控制台。 除了控制台日志之外,还有其他办法能让我们知道这些错误吗? 类似 asset:upload:error 的话,如果我们有 parse:error,用自定义方式处理错误会很有帮助。如果我们已经有办法处理这个问题,请告诉我。
artf
通常,错误不来自解析器,而是来自DOM的创建(例如编辑器通过“setAttribute”创建元素)。你可以通过监听日志事件来发现编辑的错误 “''js editor.on('log:error', (err) => console.log('编辑者错误', err)) ``` 例如,你可以输入逻辑(例如读取错误)并展示相应的响应
ClaudeCode
谢谢你举报,@sathyanarayananaCES。 [问题]的问题 除了控制台日志之外,有没有其他方法能获得解析器错误? 看起来是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例...
#31542020年11月23日作者 phamhongphuc19992 个回答
我想看到代码处理事件隐藏或删除元素。我在哪里能找到它? <img width=“958” alt=“Capture” src=“https://user-images.githubusercontent.com/56115755/99949266-509d2480-2dad-11eb-8203-51432975b4d3.PNG”> 非常感谢!
artf
给你 https://github.com/artf/grapesjs/blob/d802eba08559a3e1c7830e937a78b0b2a417f2e4/src/navigator/view/ItemView.js#L12-L22
ClaudeCode
谢谢你举报,@phamhongphuc1999。 关于在打开图层管理器中点击眼睛图标时隐藏元素的问题非常好。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('s...