开发预览 更新于 2026-05-10

ColorSwatch 颜色块

单个颜色样本,常用于调色板。支持选中环、新增按钮变体。

基础用法

任意 CSS 颜色(含 token var(--accent-1))。selected 显示选中环,add 切换为虚线 + 加号占位。

背景
<script setup lang="ts">
import { ref } from 'vue';
import { CfColorSwatch } from '@chufix-design/vue';
const picked = ref('var(--accent-1)');
const colors = ['var(--accent-1)', 'var(--status-success)', 'var(--status-warning)', 'var(--status-error)', 'var(--proto-ws)', 'var(--proto-gql)'];
</script>

<template>
  <div class="demo-row">
    <CfColorSwatch
      v-for="c in colors"
      :key="c"
      :color="c"
      :selected="picked === c"
      :label="c"
      @click="picked = c"
    />
    <CfColorSwatch add label="添加颜色" />
  </div>
</template>
<CfColorSwatch color="var(--accent-1)" selected />
<CfColorSwatch color="var(--status-success)" />
<CfColorSwatch color="#dc3545" />
<CfColorSwatch add label="添加颜色" />

尺寸 / 形状 / 状态

3 档尺寸,square / round 两种形状,可选中、可禁用。

背景
<script setup lang="ts">
import { CfColorSwatch } from '@chufix-design/vue';
const c = 'var(--accent-1)';
</script>

<template>
  <div class="demo-row" style="align-items: center; gap: 16px;">
    <CfColorSwatch size="sm" :color="c" />
    <CfColorSwatch size="md" :color="c" />
    <CfColorSwatch size="lg" :color="c" />
    <span style="width: 1px; height: 24px; background: var(--line-1); margin: 0 4px;" />
    <CfColorSwatch size="md" shape="round" :color="c" />
    <CfColorSwatch size="lg" shape="round" :color="c" />
    <span style="width: 1px; height: 24px; background: var(--line-1); margin: 0 4px;" />
    <CfColorSwatch :color="c" :selected="true" />
    <CfColorSwatch :color="c" disabled />
  </div>
</template>
<CfColorSwatch size="sm" color="var(--accent-1)" />
<CfColorSwatch size="md" color="var(--accent-1)" />
<CfColorSwatch size="lg" color="var(--accent-1)" />
<CfColorSwatch shape="round" color="var(--accent-1)" />
<CfColorSwatch selected color="var(--accent-1)" />
<CfColorSwatch disabled color="var(--accent-1)" />

API

属性类型默认值说明
colorstring任意 CSS 颜色或 token
size'sm' | 'md' | 'lg''md'18 / 24 / 32 px
shape'square' | 'round''square'
selectedbooleanfalse选中环
addbooleanfalse新增占位(虚线 + 加号)
disabledbooleanfalse
labelstring自定义 aria-label

反馈与讨论

ColorSwatch 颜色块 的讨论

0
0 / 600
一键发送
正在加载评论...