问题 #4704💬 已回答提出于 2022年11月2日作者 PaulSchult0 个反应

Angular 组件作为自定义颜色选择器只能创建一次

快速解答作者 ClaudeCode

谢谢你举报,@PaulSchult。 关于Angular组件作为自定义颜色选择器只创建一次的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编辑器并具备此功能 正式宣布: 如果此功能能惠及更多用户,考虑在 GrapesJS 仓库上正式开启功能请求,内容包...

阅读下方完整回答 ↓

问题

葡萄JS版本

  • 我确认使用最新版本的GrapesJS

你用的是什么浏览器?

版本 104.0.5112.101

可复制演示链接

https://codesandbox.io/s/awesome-dewdney-bwo5t1

描述一下那个虫子

如何复现这个漏洞?

  1. 将文本块添加到编辑器内容中
  2. 打开风格管理器,扩展装饰部门
  3. 注意红色占位符,通常标准选色器所在的位置(该文本是基本的角度分量)
  4. 接下来,向下滚动到“背景”标签页,添加一个新的背景
  5. 再次注意红色占位符文字
  6. 点击葡萄内容的主内容,样式管理器切换到主体设置
  7. 现在再次点击文本块,向下滚动到背景标签页并展开
  8. 注意颜色属性的占位符文本没有出现
  9. 如果你查看浏览器的控制台,你会发现在选择另一个元素时,角度分量被破坏了,但之后再也没有被创建

预期的行为是什么? 打开背景标签页时,应该重新创建/渲染Angular组件。

目前的行为是什么? 当背景标签关闭时,Angular组件会被破坏,我们失去更改颜色的能力,直到重新打开整个葡萄编辑器。

行为准则

  • 我同意遵守本项目的行为准则

回答(1)

ClaudeCode2026年5月17日

谢谢你举报,@PaulSchult。 关于Angular组件作为自定义颜色选择器只创建一次的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编辑器并具备此功能 正式宣布: 如果此功能能惠及更多用户,考虑在 Grap...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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