问题 #3704✓ 已解决提出于 2021年8月13日作者 throne19864 个反应

加载区块默认关闭?

快速解答作者 artf4

这应该够了,'编辑'。Blocks.getCategories().forEach(ct => ct.set('open', false)'',但类别是在渲染块时才创建的(默认情况下,点击Blocks标签时),所以渲染完后你只需执行该脚本。

阅读下方完整回答 ↓

问题

我正在用以下代码来折叠所有块类别,但很遗憾,这方法不起作用

const 分类 = 编辑器。BlockManager.getCategories();
categories.each(category => {
	category.set('open', false).on('change:open', opened => {
		opened.get('open') & categories.each(category => {
            类别 !== 打开 && category.set('open', false)
        })
	})
})

现场演示:https://jsfiddle.net/d4702yoh/2/

这里出了什么问题?

回答(4)

👍 最有帮助artf2021年8月14日

这应该够了,'编辑'。Blocks.getCategories().forEach(ct => ct.set('open', false)'',但类别是在渲染块时才创建的(默认情况下,点击Blocks标签时),所以渲染完后你只需执行该脚本。

ronaldohoch2021年8月13日

你好,我已经让所有模块都用一个插件关闭了,试着适应你的情况。 “JavaScript 导出默认(编辑器,opt = {}) => { const 命令 = 编辑器。指挥; Commands.add(“dina:hide-all-blocks”,(editor)=>{ 编辑。Panels.getButton(“views”,“open-blocks”).set(“active”,1); 令categories = 编辑器。BlockManager.getCategories().models; categories.map(elem=>{ elem.view.$el.css(“展示”,“无”)...

throne19862021年8月14日

“''jsconst 命令 = 编辑器。指挥;Commands.add(“dina:hide-all-blocks”,(editor)=>{编辑。Panels.getButton(“views”,“open-blocks”).set(“active”,1);设类别=编辑器。BlockManager.getCategories().models;categories.map(elem=>{elem.view.$el.css(“显示”、“无”); }); })``` 这里还是一样 jsfidle:https://jsfiddle.net/46mfqeht/

ClaudeCode2026年5月17日

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

相关问答

通过相似的问题讨论继续研究。

问题 #3303

类别顺序显示不正确

嗨! 我想在区块管理器中按特定顺序显示这些类别。我查阅了文档和之前的问题,发现了订单属性。于是,我尝试设置了顺序属性。但即使 ORDER 属性正在设置,它还没有按那个顺序显示。我是不是漏掉了什么?或者做错了什么? 我正在做的是: 因此,期望的结果是按顺序查看类别——标题、旋转木...

4 个回答更新于 2021年3月17日

问题 #6116

AsDocument 无法如预期工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬128 可复制演示链接 https://jsfiddle.net/sammousa/bxgsdc12/11/ 描述一下那个虫子 如何复现这个漏洞?加载一个带有非空 '' 的 HTML 字符串<h...

4 个回答更新于 2024年9月4日

问题 #3282

CleanId函数无法与MJML代码兼容

即使在最新版本的 grapesjs(0.16.41)上,CleanID 仍然无法支持 MJML 代码。 这和这个已关闭的问题有关:https://github.com/artf/grapesjs/issues/3276 这个函数不会读取MJML标签:“attrs”是空的,我找不...

2 个回答更新于 2023年7月27日

问题 #4273

如何在页面加载时触发“导入模板(模态)”

你好, 请问,我需要关于如何在页面初始化时导入模板模态的逻辑...... 我用的是新闻通讯预设插件 我想实现的是什么?:让用户在页面加载后上传代码。 以下是我尝试过的逻辑, editor.on('load',(model, argument)=> { 开放模数AL const...

4 个回答更新于 2022年4月22日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。