Skip to content

Dict 字典组件

基于字典编码自动加载选项数据,免去手动请求接口和缓存管理。在线演示

DictSelect

用于表单输入,支持下拉、单选、复选三种形式。

vue
<DictSelect v-model="gender" code="gender" />

<script setup lang="ts">
// gender 字典:1=男, 2=女, 3=未知
const gender = ref(1)
</script>

通过 type 切换展示形式:

vue
<DictSelect v-model="gender" type="radio" code="gender" />
<DictSelect v-model="hobbies" type="checkbox" code="hobby" />

Props

参数说明类型默认值
code字典编码(必填)string
modelValue绑定值(v-modelstring | number | any[]
type展示类型"select" | "radio" | "checkbox""select"
placeholder占位文本string"请选择"
disabled是否禁用booleanfalse
style自定义样式object{ width: "300px" }

v-model 类型

selectradio 绑定单值(string | number),checkbox 绑定数组。

DictTag

根据字典值展示对应文字和标签样式,用于只读场景。

vue
<DictTag :model-value="gender" code="gender" />

表格中使用:

vue
<el-table-column label="性别" prop="gender">
  <template #default="{ row }">
    <DictTag :model-value="row.gender" code="gender" />
  </template>
</el-table-column>

Props

参数说明类型默认值
code字典编码(必填)string
modelValue字典项的值string | number
size标签尺寸"large" | "default" | "small""default"

标签样式

DictTag 根据字典项的 tagType 字段渲染颜色:

tagType效果
primary蓝色
success绿色
warning橙色
danger红色
info灰色
未配置纯文本(无标签)

基于 MIT 许可发布 · 如需部署协助或二开定制,请查看 支持与合作