问题 #3194💬 已回答提出于 2020年12月18日作者 stljeff10 个反应

我该如何重新利用Spectrum色彩选择器?

快速解答作者 artf

目前,唯一的方法是使用这个非公开的API。 “''js editor.getModel().initBaseColorPicker(DomElement, { / spectrum options / }); ``` 我已经开始开发一个新的UI模块,以应对类似情况(比如添加/替换GrapesJS UI元素的能力),但遗憾的是,我不知道它什么时候发布,因为它还处于实验阶段。

阅读下方完整回答 ↓

问题

我想重新利用GrapesJS中使用的色彩选择器。

我必须用颜色选择器来设置一些项目的关卡设置。这些设置可以通过GrapesJS编辑器访问。我想利用现有用于字体颜色等特性的颜色选择器。 我看到过[这篇帖子](https://github.com/artf/grapesjs/issues/1393)关于扩展一个特性以获得颜色选择器。很遗憾,我觉得我做不到。据我所知,特质是组件的一部分;我不是在处理组件,而是在处理 GrapesJS 一般范围之外的项目层级设置。

我只需要把输入标签传递给 Spectrum,并且能够在 Change 上添加事件处理功能。我能看到grapesjs.js编译包里有Spectrum插件,只是不明白是否以及如何利用它。我希望避免为了这个功能手动包含 jquery/Spectrum,如果能用 Spectrum 实现界面一致就更好了。

感谢大家的关注

回答(3)

artf2020年12月30日

目前,唯一的方法是使用这个非公开的API。 “''js editor.getModel().initBaseColorPicker(DomElement, { /* spectrum options */ });

我已经开始开发一个新的UI模块,以应对类似情况(比如添加/替换GrapesJS UI元素的能力),但遗憾的是,我不知道它什么时候发布,因为它还处于实验阶段。
himedlooff2025年6月2日

有没有办法保留色彩选择器,同时配置光谱选项?比如说,如果我想强制十六进制颜色,我可以传递“{ preferredFormat: ”hex“ }'?

ClaudeCode2026年5月17日

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

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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