一个完整的例子,同时支持纯色、线性渐变、径向渐变选择。
- 组件为完全受控模式
- 线性渐变支持配置色标(color stop)和角度(渐变方向)
- 径向渐变支持配置色标(color stop),暂不支持渐变中心配置
关于渐变,可以参考 MDN CSS 渐变。
Props
Name | Type | Default | Description |
---|---|---|---|
value | ColorsValue | ColorsValue 见下文 | |
onChange | (value: ColorsValue) => void | 颜色变化的回调 | |
format | rgb or hex | rgb | 返回的颜色格式 |
angleType | rotate or input | rotate | 配置线性渐变角度,使用点击固定旋转角度还是输入精确角度 |
defaultRotation | number | 45 | angleType 为 rotate 时,点击固定旋转角度的默认值 |
ColorsValue
type ColorsValue = { type: ColorType, color?: string, gradient?: LinearGradient }
type ColorType = 'solid' | 'linear' | 'radial';
type LinearGradient = {
colorStops: ISTOP[];
angle: number;
}
export type ISTOP = {
color: string;
offset: number;
}