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}}