diff --git a/packages/components/color-picker/color-picker.less b/packages/components/color-picker/color-picker.less index 26e82e906..6b0a14a0c 100644 --- a/packages/components/color-picker/color-picker.less +++ b/packages/components/color-picker/color-picker.less @@ -348,6 +348,29 @@ } } +.@{prefix}-color-picker { + &__eyedropper-wrap { + display: flex; + justify-content: flex-end; + padding: 8px 0 0; + } + + &__eyedropper { + display: flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + font-size: 18px; + border-radius: 4px; + cursor: pointer; + + &:active { + opacity: 0.7; + } + } +} + .transparentBgImage () { /* stylelint-disable-next-line color-no-hex */ background-image: diff --git a/packages/components/color-picker/color-picker.ts b/packages/components/color-picker/color-picker.ts index 2a7e94ea3..8542ecad7 100644 --- a/packages/components/color-picker/color-picker.ts +++ b/packages/components/color-picker/color-picker.ts @@ -398,5 +398,11 @@ export default class ColorPicker extends SuperComponent { onVisibleChange() { this.close('overlay'); }, + + handleEyeDropperTap() { + this.triggerEvent('eyedropper-tap', { + color: getColorObject(this.color), + }); + }, }; } diff --git a/packages/components/color-picker/interfaces.ts b/packages/components/color-picker/interfaces.ts index 4247bf162..62e7cc514 100644 --- a/packages/components/color-picker/interfaces.ts +++ b/packages/components/color-picker/interfaces.ts @@ -9,4 +9,5 @@ export type ColorPickerChangeTrigger = | 'palette-brightness' | 'palette-hue-bar' | 'palette-alpha-bar' - | 'preset'; + | 'preset' + | 'eyedropper'; diff --git a/packages/components/color-picker/props.ts b/packages/components/color-picker/props.ts index 0db99c3dd..6536bbe0e 100644 --- a/packages/components/color-picker/props.ts +++ b/packages/components/color-picker/props.ts @@ -26,6 +26,10 @@ const props: TdColorPickerProps = { type: Boolean, value: true, }, + eyeDropper: { + type: Boolean, + value: false, + }, /** 如果 color-picker 是在一个 `position:fixed` 的区域,需要显式指定属性 fixed 为 true */ fixed: { type: Boolean, diff --git a/packages/components/color-picker/template.wxml b/packages/components/color-picker/template.wxml index 61b838ac8..dea8535fb 100644 --- a/packages/components/color-picker/template.wxml +++ b/packages/components/color-picker/template.wxml @@ -58,6 +58,10 @@ + + 🎨 + + {{format}}