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

Tag 标签

标签 —— 3 种 variant、6 种 tone、3 种尺寸,可关闭、可圆角。

基础用法

tone 控制语义色,默认 neutral(灰色)。其他选项:primary / success / warning / danger / info

背景
DefaultPrimarySuccessWarningDangerInfo
<script setup lang="ts">
import { CfTag } from '@chufix-design/vue';
</script>

<template>
  <div class="demo-row">
    <CfTag>Default</CfTag>
    <CfTag tone="primary">Primary</CfTag>
    <CfTag tone="success">Success</CfTag>
    <CfTag tone="warning">Warning</CfTag>
    <CfTag tone="danger">Danger</CfTag>
    <CfTag tone="info">Info</CfTag>
  </div>
</template>
import { CfTag } from '@chufix-design/react';

export default function Demo() {
return (
  <>
    <CfTag>Default</CfTag>
    <CfTag tone="primary">Primary</CfTag>
    <CfTag tone="success">Success</CfTag>
    <CfTag tone="warning">Warning</CfTag>
    <CfTag tone="danger">Danger</CfTag>
    <CfTag tone="info">Info</CfTag>
  </>
);
}

变体、尺寸与圆角

varianttone 正交:solid / soft(默认)/ outline。rounded 切换到 pill 圆角。

背景
solidsoftoutline
solidsoftoutline
smmdlgrounded
<script setup lang="ts">
import { CfTag } from '@chufix-design/vue';
</script>

<template>
  <div class="demo-stack">
    <div class="demo-row">
      <CfTag variant="solid" tone="primary">solid</CfTag>
      <CfTag variant="soft" tone="primary">soft</CfTag>
      <CfTag variant="outline" tone="primary">outline</CfTag>
    </div>
    <div class="demo-row">
      <CfTag variant="solid" tone="danger">solid</CfTag>
      <CfTag variant="soft" tone="danger">soft</CfTag>
      <CfTag variant="outline" tone="danger">outline</CfTag>
    </div>
    <div class="demo-row">
      <CfTag size="sm" tone="success">sm</CfTag>
      <CfTag size="md" tone="success">md</CfTag>
      <CfTag size="lg" tone="success">lg</CfTag>
      <CfTag tone="success" rounded>rounded</CfTag>
    </div>
  </div>
</template>
<CfTag variant="solid" tone="primary">solid</CfTag>
<CfTag variant="soft" tone="primary">soft</CfTag>
<CfTag variant="outline" tone="primary">outline</CfTag>

<CfTag size="sm" tone="success">sm</CfTag>
<CfTag size="md" tone="success">md</CfTag>
<CfTag size="lg" tone="success">lg</CfTag>
<CfTag tone="success" rounded>rounded</CfTag>

可关闭

打开 closable 显示 × 按钮,点击触发 close / onClose

背景
VueAstroTailwindTypeScript
<script setup lang="ts">
import { ref } from 'vue';
import { CfTag } from '@chufix-design/vue';

const tags = ref(['Vue', 'Astro', 'Tailwind', 'TypeScript']);

function remove(t: string) {
  tags.value = tags.value.filter((x) => x !== t);
}
function reset() {
  tags.value = ['Vue', 'Astro', 'Tailwind', 'TypeScript'];
}
</script>

<template>
  <div class="demo-stack">
    <div class="demo-row">
      <CfTag v-for="t in tags" :key="t" tone="primary" closable @close="remove(t)">
        {{ t }}
      </CfTag>
      <CfButton
        v-if="!tags.length"
        class="cf-btn cf-btn--soft cf-btn--sm"
        @click="reset"
      >全部清空,点这里恢复</CfButton>
    </div>
  </div>
</template>
{tags.map((t) => (
<CfTag
  key={t}
  tone="primary"
  closable
  onClose={() => setTags((xs) => xs.filter((x) => x !== t))}
>{t}</CfTag>
))}

API

Prop类型默认值说明
variant'solid' | 'soft' | 'outline''soft'视觉变体
tone'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info''neutral'语义色
size'sm' | 'md' | 'lg''md'高度与字号
roundedbooleanfalse圆角到 pill
closablebooleanfalse显示 × 关闭按钮

插槽 / Children

  • Vue:默认插槽是文本;leading 具名插槽放图标。
  • Reactchildren 是文本;leading prop 放图标节点。

反馈与讨论

Tag 标签 的讨论

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