#31432020年11月15日作者 sprklinginfo2 个回答
默认情况下,当选中组件时,工具栏会显示“移动、复制、删除”等操作,并设置“showToolbar: 1”选项。当我定义一个可能包含多个内部组件的自定义组件时,我想隐藏这些内部组件的工具栏。我不想在 grapesjs.init() 中全局隐藏它。谢谢,
artf
定义组件后,你可以自定义工具栏数组 “''js 默认值:{ ... 工具栏:[], // 这将阻止其在组件上的渲染 } ```
ClaudeCode
谢谢你举报,@sprklinginfo。 感谢你分享关于隐藏内部组件工具栏的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序修复。Grap...
#31402020年11月13日作者 ZeroCoolHacker2 个回答
我正在用 Grapesjs 开发一个测验生成器插件。我在想我们是否可以添加一个组件,它是交互式的,点击后会添加新的组件。 例如:  大概是这样的。当丢弃时,没有输入,但点击“添加新字段”时,输入会出现。 可能吗?怎么做?
artf
你必须[扩展自定义组件的视图](https://grapesjs.com/docs/modules/Components.html#view)
ClaudeCode
谢谢你举报,@ZeroCoolHacker。 关于Canvas中的互动组件,这是个很好的问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...
#31392020年11月13日作者 adamwpe3 个回答
我遇到了一个问题,当保存自定义HTML组件(只是一个表格)时,Grapes JS会修改它。 保存之前  存档之后。  所以我想能够插入一个表格,因为我想用 twig(一种模板语言)进行门通 : 我相信它和#60...
adamwpe
啊,如果我用这个 https://github.com/artf/grapesjs-custom-code,保存时不会修改 html。 但使用“gjs-preset-newsletter”时,这个方法无法实现。 因为如果你运行命令 'gjs-get-inlined-html',它会修改代码。 E.g. HTML代码: 运行 'gjs-get-inlined-html',它输出: 我猜你没办法阻止这种情况吧?
artf
你不能插入无效的HTML。如果你需要处理这些,你必须创建一个[自定义组件](https://grapesjs.com/docs/modules/Components.html),然后它会输出自定义代码。
ClaudeCode
谢谢你举报,@adamwpe。 关于FEAT:关闭<table>存档时自动修改的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事...
#31382020年11月13日作者 adamwpe2 个回答
大家好, 我遇到了一个问题,当保存自定义HTML组件(只是一个表格)时,Grapes JS会修改它。 保存之前  存档之后。  有没有可能把什么东西包裹起来,避免被修改?问题的原因是我用 twig(一种模板语言...
ClaudeCode
谢谢你举报,@adamwpe。 关于保存<TABLE>时防止被修改的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件...
#31372020年11月12日作者 Asha15973 个回答
未获得所选元素的样式 这是我的代码, const model = 编辑器。StyleManager.getModelToStyle(component); let styleObject = model.getStyle(); console.log(“样式”,styleObject) 版本: 0.14.49 你能重现演示中的bug吗? [X] 是的 [ ] 不 预期的行为是什么? 当选中元素时,我应该会看到该元素的样式。 目前的行为是什么? 当选中元素时,我没有得到任何样式,只有空的对象。 你能附上截图、截屏或实时演示吗? [X] 是的(附上) [ ] 不 这是实际和预期结果的截图,真实 ![截图,2020-11-12 16-5...
artf
首先,你需要升级你的 Grapesjs 版本(你用的是两年前的版本),然后你还得提供一个问题的实时演示。
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
ClaudeCode
谢谢你举报,@Asha1597。 当我选择某个特定元素时,我无法获得它的样式。这个问题只发生在某些元素上。 似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandb...
#31352020年11月11日作者 archerbj4 个回答
例如,我想在默认视频组件上添加双击事件处理程序来打开资产管理器。 我的基本想法是获取视频组件的视图定义,并添加“事件”+处理器。 最后,把它调回视频部分。 不幸的是,这一想法在第一步就失败了。'v.View()' 会给我一个错误 我刚接触这个项目,对Backbone.js几乎一无所知。 你能给我一些建议吗?
Joshmamroud
@archerbj这里有你想要的演示:https://codesandbox.io/s/sharp-easley-3hrdn?file=/index.js 你应该把功能绑定在“组件类型”本身,而不是试图找到该组件的所有实例并在某个更改时添加。为此,创建一个新的“组件类型”,扩展“视频”类型,然后在视图中添加“dblclick”事件处理程序。一旦有了这个,你就可以创建一个使用新组件类型的块。 这里有一些关于[如何扩展组件类型](https://grapesjs.com/doc...
archerbj
@archerbj这里有你想要的演示:https://codesandbox.io/s/sharp-easley-3hrdn?file=/index.js你希望把功能绑定到“组件类型”本身,而不是试图找到该组件的所有实例并在更改时添加。为此,创建一个新的“组件类型”,扩展“视频”类型,然后在视图中添加“dblclick”事件处理程序。一旦有了这个,你就可以创建一个使用新组件类型的块。这里有一些关于[如何扩展组件类型](https://grapesjs.com/docs/mo...
abulka
@Joshmamroud 谢谢你举这个例子。我能找到的唯一一个使用文档中提到的“扩展”功能的例子是你的。 你的例子非常简单且禅意——但它只是展示了给视频组件添加“dblclick”处理程序,并没有显示添加额外的组件属性或属性和特征。你能解释一下或者举个例子吗?因为我很难理解如何使用“extend”——正如我在#3060中提到的那样。
#31342020年11月11日作者 josfh20054 个回答
版本: 0.16.27 你能重现演示中的bug吗? [X] 是的 [ ] 不 预期的行为是什么? 当我尝试拖动组件时,画布不应该滚动到页面顶部。 详细描述那个漏洞** 每当我尝试拖动页面最后部分的组件时,画布就会滚动到顶部。有时候第一次就会出现,但有时候总是这样,可能和元件类型有关。
artf
你好,José,你能提供你问题的截屏吗?我试过拖动模板的最后一部分,但对我来说一切正常
josfh2005
你好@artf, 你可以在这里看看,https://recordit.co/vn1ZVN6J1N 不是在各个部分,任何元素都会这样,但只有第一次尝试拖动时才会。
#31312020年11月11日作者 Joshmamroud4 个回答
版本: 0.16.27 你能重现演示中的bug吗? [] 是的 [X] 不 预期的行为是什么? 将粘贴文本为纯文本(文本节点),不像Grapes JS在</>元素中进行打包。 目前的行为是什么? 当我把纯文本粘贴到空文本元素时,编辑器会用<font />元素包裹它。 在粘贴文本之前  在文本粘贴(以纯文本形式)之后  => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“ch...