[犀牛鸟]feat(color-picker): support eyedropper - #6823
Open
yzh505 wants to merge 4 commits into
Open
Conversation
yzh505
requested review from
Cat1007,
PengYYYYY,
Wesley-0808,
chaishi,
liweijie0812,
uyarn,
zhangpaopao0609 and
zydemail
as code owners
July 20, 2026 17:06
12 tasks
Collaborator
|
/update-common 2637 |
Collaborator
TDesign Component Site Preview Open
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🤔 这个 PR 的性质是?
🔗 相关 Issue
Tencent/tdesign-common#2568
🔗相关PR
Tencent/tdesign-common#2637
需求背景
ColorPicker 目前只能通过面板手动调整颜色。业务中存在上传背景图后,需要直接从图片或页面中吸取颜色的场景,因此需要支持吸色能力。
解决方案
新增
eyeDropper属性,支持ColorPicker和ColorPickerPanel开启吸色功能。开启后在颜色条前展示吸色按钮。默认使用浏览器原生
EyeDropper API进行屏幕取色;当配置{ mode: 'fallback' }时,在不支持原生 API 的浏览器中使用html2canvas-pro截取当前页面并读取 canvas 像素作为兜底。实现要点:
ColorPicker/ColorPickerPanel新增eyeDropperprop,默认false。context.trigger = 'eyedropper'。tdesign-icons-vue-next的SipIcon作为吸色图标,并通过useGlobalIcon支持全局图标替换。enableAlpha开启时保留吸色前透明度。html2canvas-pro,并限制截图 scale、使用requestAnimationFrame节流预览更新。eye-dropper演示示例。📝 更新日志
tdesign-vue-next
@tdesign-vue-next/chat
@tdesign-vue-next/nuxt
☑️ 请求合并前的自查清单