V0.16.27 - 嵌套时样式/ID消失
问题
版本: 0.16.27 你能重现演示中的bug吗? [ ] 是的 [ ] 不 [X] 视频但没有演示 预期的行为是什么? 添加尽可能多的嵌套“span”元素,并保留它们的样式/ID。 目前的行为是什么? 从两个嵌套的“span”元素中,父“span”元素的样式/ID会消失。 你能附上截图、截屏或实时演示吗? [X] 是的(附上) [ ] 不 https://user-images.githubusercontent.com/17108974/106736579-e9ee7f80-6615-11eb-9f5e-a3236d026c98.mp4 TextEditor.vue “''js // ... 方法:{ onButtonClick(动作,值 = '') { 试试{ const selected = this.editor.getSelected() const rte = selected.view.activeRte 设style = '${action}:${value};' 开关(动作) { case“showCustomizationPanel”: this.customizationPanel = value 休息 案例“文本对齐”: this.mergeComponentStyle(selected, { [动作]:值 }) 休息 大写字母大小: 箱“线高”: 样式...
回答(2)
你好,Benjamin,这个bug已经修复了(报告bug时,请确保使用最新版本)
谢谢你举报,@bgrand-ch。 v0.16.27 - 嵌套 span 时样式/ID 消失的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #4336
“导入模板”无法用来移除多余的样式
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 101.0.4951.64 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?添加段落块打开“导入模板”,添加这些行并按“导入...
问题 #3832
每次重载后,CSS 类都会被移除,并且每个 HTML 标签的自动生成 ID(例如:ivj5m-2)都会被更改
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 不是在那里 描述一下那个虫子 如何重现这个bug? 在 React 应用中安装葡萄 js 进入编辑器,拖动一个组件。(示例:文本组件) 使用样式管理器为组件做样式 保存到数据库...
问题 #5460
从“pageManager”加载“组件”和“样式”
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v117.0.5938.149可复制演示链接 https://jsfiddle.net/9oLrsvya/描述一下那个虫子 如何复现这个漏洞?请参见 jsfiddle 中的“pageMa...
问题 #4765
官方的解析@keyframes方法并不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v107描述一下那个虫子 如何复现这个漏洞?按照[这里](https://grapesjs.com/docs/guides/Custom-CSS-parser.html#rule-obj...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Vanilla GrapesJS vs GrapesJS With Plugins: What You Actually Get Out of the Box (2026)
New to GrapesJS? See exactly what the stock editor gives you, where it falls short, and which plugins close the gaps — a beginner-friendly 2026 comparison
教程
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 We Built Composeit in Record Time Using GrapesJS Shadcn
Bypass foundational builder boilerplate and focus on what truly matters.
浏览插件分类
直接跳转到市场上的插件分类页面。