面板的“可见”属性并不会阻止面板渲染
问题
版本: v0.17.3 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? “编辑。Panels.addPanel({id: 'test', visible: false})' 即使'visible'属性设置为false,仍能渲染面板。 编辑器渲染后它完全正常,所以“panel.set('visibility', !panel.get('visibility')' 正确切换可见性。 尝试将“gjs-hidden”类和“visible: false”一起设置的变通方法1也没用。这样之后会检查可见性,“gjs-hidden”类也会被移除。至少我看到的行为是这样的。 之前已经出现过同样的问题:[#1602](https://github.com/artf/grapesjs/issues/1602)。 在面板创建后调用“toggleVisibility”功能的变通方法2也没用。我觉得这是因为[PanelView](https://github.com/artf/grapesjs/blob/dev/src/panels/view/PanelView.js#L121)中的“render()”函数会覆盖类。甚至像[toggleVisible](https://github.com/artf/grapesjs/blob/dev/src/panels/view/PanelView...
回答(2)
是的,我觉得只要在PanelView.render里添加这个.toggleVisible()就行了。 如果你想冲击个人纪录,我很乐意合并:)
谢谢你举报,@emyasnikov。 面板“可见”属性不阻止面板渲染的问题似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #4083
Set root 不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/...
问题 #3932
特征添加/移除可能会失败,因为集合类型不一致
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Brave 版本 1.31.88 Chromium:95.0.4638.69(官方构建)(64位)在 Linux 上 可复制演示链接 https://jsfiddle.net/0a3o7cL6/...
问题 #3778
选择选项未显示——新的异常
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 https://github.com/artf/grapesjs/issues/3735描述一下那个虫子 我遇到了与选择框相关的问题。它显示的问题和主机版一样 [特质]: 'sele...
问题 #3272
双击后会添加ID。<img/>
版本: 0.16.37 你能重现演示中的bug吗? [X] 是的 [ ] 不 预期的行为是什么? 这是关于GrapesJS-mjml插件的:这个语法不接受元素上的ID。但AssetsManager会给图片元素添加ID。我不想在标签中添加 id 属性<img> 繁衍步骤克隆并运行...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
教程
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
浏览插件分类
直接跳转到市场上的插件分类页面。