Skip to content

color-gradient-picker-vue3

这里主要介绍 color-gradient-picker-vue3 的使用以及一些常用配置,以及主要注意事项。

注意

由于 UI 设计问题,color-gradient-picker-vue3 的宽度最小为 320px,主要为了保证底部预设色的美观,如果设置的 width 小于 320,那么初始化时会默认为 320

安装

pnpm

bash
pnpm add color-gradient-picker-vue3

npm

bash
npm install color-gradient-picker-vue3

yarn

bash
yarn add color-gradient-picker-vue3

快速使用

html
<template>
  <ColorPicker v-model:value="color" @change="onChange" />
</template>

<script lang="ts" setup>
  import { ref } from 'vue'
  import { ColorPicker } from 'color-gradient-picker-vue3'
  import 'color-gradient-picker-vue3/dist/style.css'

  const color = ref('rgba(175, 51, 242, 1)')
  const onChange = (val: any) => {
    console.log(val, 'colorpicker 回调')
  }
</script>

Props 配置说明

参数类型默认值说明
valueString'rgba(175, 51, 242, 1)'颜色值,支持纯色(如 rgba(...)#hex)和渐变色(如 linear-gradient(...)radial-gradient(...)
widthNumber300颜色选择器宽度(最小 320px,颜色面板高度等于宽度)
locale'en' | 'zh''en'语言设置,'en' 英文,'zh' 中文
hideInputsBooleanfalse隐藏颜色值输入框
hideOpacityBooleanfalse隐藏透明度设置滑块
hideGradientBooleanfalse隐藏渐变色模式(仅使用纯色模式)
hidePresetsBooleanfalse隐藏预设颜色
presetColorsString[]内置 18 色自定义预设颜色数组(最多 18 个)
showAdvancedSlidersBooleanfalse显示高级滑块(饱和度、亮度、明度)
inputType'RGB' | 'HSL' | 'HSV' | 'CMYK''RGB'颜色输入模式

Events 事件

事件名参数说明
update:value(value: string)颜色值变化时触发,可用于 v-model:value
change(color: IColor)颜色变化时触发,返回详细颜色信息对象

IColor 类型定义

typescript
interface IColor {
  mode?: 'solid' | 'gradient' // 当前模式
  color?: string // 颜色值(纯色为颜色字符串,渐变为渐变CSS字符串)
  degrees?: number // 渐变角度(仅渐变模式)
  gradientType?: string // 渐变类型:'linear' 或 'radial'
  gradientColors?: {
    // 渐变色点数组(仅渐变模式)
    color: string
    left?: number
  }[]
}

change 事件回调示例

纯色模式:

javascript
{
  mode: 'solid',
  color: 'rgba(175, 51, 242, 1)'
}

渐变模式:

javascript
{
  mode: 'gradient',
  color: 'linear-gradient(90deg, rgba(245, 66, 245, 1) 0%, rgba(0, 0, 255, 1) 100%)',
  degrees: 90,
  gradientType: 'linear',
  gradientColors: [
    { color: 'rgba(245, 66, 245, 1)', left: 0 },
    { color: 'rgba(0, 0, 255, 1)', left: 100 }
  ]
}