ColorPickerPanel 颜色选择器面板 beta
ColorPickerPanel 是 ColorPicker 的核心组件,可以单独使用,将颜色选择器直接嵌入到页面中。
ts
import { createApp } from 'vue'
import { ColorPickerPanel as ElColorPickerPanel } from '@szhn/dh-design-pc'
const app = createApp()
app.use(ElColorPickerPanel)基础用法
<template>
<el-color-picker-panel v-model="color" />
<div class="demo-panel-value">当前值:{{ color }}</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { ColorPickerPanel as ElColorPickerPanel } from '@szhn/dh-design-pc'
const color = ref('#409EFF')
</script>
<style scoped>
.demo-panel-value {
margin-top: 12px;
font-size: 13px;
color: var(--el-text-color-secondary);
}
</style>边框
默认情况下,边框是默认的,如果你不想要边框请设置 border 为 false。
<template>
<el-color-picker-panel v-model="color" :border="false" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { ColorPickerPanel as ElColorPickerPanel } from '@szhn/dh-design-pc'
const color = ref('#ff6900')
</script>选择透明度
使用 show-alpha 开启透明度选择。
<template>
<el-color-picker-panel v-model="color" show-alpha />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { ColorPickerPanel as ElColorPickerPanel } from '@szhn/dh-design-pc'
const color = ref('rgba(255, 69, 0, 0.68)')
</script>预定义颜色
通过 predefine 设置预定义颜色。
<template>
<el-color-picker-panel
v-model="color"
show-alpha
:predefine="predefineColors"
/>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { ColorPickerPanel as ElColorPickerPanel } from '@szhn/dh-design-pc'
const color = ref('rgba(255, 69, 0, 0.68)')
const predefineColors = ref([
'#ff4500',
'#ff8c00',
'#ffd700',
'#90ee90',
'#00ced1',
'#1e90ff',
'#c71585',
'rgba(255, 69, 0, 0.68)',
'rgb(255, 120, 0)',
'hsv(51, 100, 98)',
'hsva(120, 40, 94, 0.5)',
'hsl(181, 100%, 37%)',
'hsla(209, 100%, 56%, 0.73)',
'#c7158577',
])
</script>API
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 选中项绑定值 | string | — |
| border | 是否显示边框 | boolean | true |
| show-alpha | 是否支持透明度选择 | boolean | false |
| color-format | 写入 v-model 的颜色格式 | 'hex' | 'rgb' | 'hsl' | 'hsv' | — |
| disabled | 是否禁用 | boolean | false |
| predefine | 预定义颜色 | string[] | — |
| validate-event | 输入时是否触发表单的校验 | boolean | true |
| hue-slider-class | 色相滑块的自定义类名 | string / array / object | — |
| hue-slider-style | 色相滑块的自定义样式 | string / array / object | — |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| update:modelValue | 当绑定值变化时触发 | Function |
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| color | 当前色彩对象 | object |
| inputRef | 输入框的 ref | object |
