Skip to content

DictTag 字典标签

用于显示字典值对应的标签,自动匹配字典项并渲染为标签。

基础用法

vue
<template>
  <!-- 使用字典类型 -->
  <DictTag dict-type="status" :value="row.status" />
  
  <!-- 使用选项列表 -->
  <DictTag :options="dict.status" :value="row.status" />
  
  <!-- 指定标签类型 -->
  <DictTag dict-type="status" :value="row.status" type="success" />
</template>

Props

属性类型默认值说明
optionsArraynull字典选项列表(优先)
dictTypeString''字典类型
valueString/Number''字典值
typeString''标签类型:default/success/warning/error/info
sizeString'small'标签尺寸
roundBooleanfalse圆角
borderedBooleantrue边框

标签类型映射

字典项的 listClass 字段自动映射为标签类型:

listClass标签类型
default普通文本(不显示标签)
success绿色标签
info蓝色标签
warning橙色标签
error/danger红色标签

示例

vue
<script setup>
import { useDict } from '@/composables/useDict'

const { dict } = useDict('sys_status')
</script>

<template>
  <n-data-table :columns="columns" :data="data" />
</template>

<script>
const columns = [
  { 
    prop: 'status', 
    label: '状态',
    render: (row) => h(DictTag, { 
      dictType: 'sys_status', 
      value: row.status 
    })
  }
]
</script>