当前位置: 首页 > news >正文

vue若依框架dicts中字典项的使用:表格展示与下拉框示例

在若依框架的开发中,字典项的使用可以帮助我们更方便地管理和展示一些具有固定取值范围的数据,比如颜色类型、人员类型等。下面将详细介绍若依框架中字典项在表格和下拉框中的使用方法。

1. 若依字典项的配置

在若依框架中,我们首先需要在系统管理 - 字典管理中配置所需的字典。假设我们要配置两个字典:颜色(color)和人员类型(personnel_type)。具体配置如下:

颜色字典(color

字典标签字典值
红色1
蓝色2
绿色3

人员类型字典(personnel_type

字典标签字典值
管理员1
普通用户2
访客3

2. 在页面中引入字典

在 Vue 组件中,我们可以通过 dicts 属性引入需要使用的字典。示例代码如下:

<template>
  <div>
    <!-- 表格部分 -->
    <el-table :data="tableData" style="width: 100%">
      <el-table-column
        :label="$t('h.ProductionColor')"
        align="center"
        prop="color"
      >
        <template slot-scope="scope">
          <dict-tag :options="dict.type.color" :value="scope.row.color">
          </dict-tag>
        </template>
      </el-table-column>
      <el-table-column
        :label="$t('h.personnelType')"
        align="center"
        prop="userType"
      >
        <template slot-scope="scope">
          <dict-tag :options="dict.type.personnel_type" :value="scope.row.userType">
          </dict-tag>
        </template>
      </el-table-column>
    </el-table>

    <!-- 下拉框部分 -->
    <el-form :model="formData" ref="formDataRef" label-width="120px">
      <el-form-item label="选择颜色">
        <el-select v-model="formData.color" placeholder="请选择颜色">
          <el-option
            v-for="item in dict.type.color"
            :key="item.dictValue"
            :label="item.dictLabel"
            :value="item.dictValue"
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="选择人员类型">
        <el-select v-model="formData.userType" placeholder="请选择人员类型">
          <el-option
            v-for="item in dict.type.personnel_type"
            :key="item.dictValue"
            :label="item.dictLabel"
            :value="item.dictValue"
          >
          </el-option>
        </el-select>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { color: "1", userType: "2" },
        { color: "2", userType: "1" }
      ],
      formData: {
        color: "",
        userType: ""
      },
      dicts: ["color", "personnel_type"]
    };
  },
  computed: {
    dict() {
      return this.$store.state.dict;
    }
  }
};
</script>

表格部分

在表格中,我们使用 dict-tag 组件来展示字典项。dict-tag 组件接收两个主要参数:

  • options:字典项的列表,通过 dict.type.color 或 dict.type.personnel_type 获取。
  • value:当前行数据对应的字典值,通过 scope.row.color 或 scope.row.userType 获取。

下拉框部分

在下拉框中,我们使用 el-select 和 el-option 组件来实现选择功能。通过 v-for 指令遍历字典项列表,将每个字典项的 dictLabel 作为显示标签,dictValue 作为实际值。

数据获取

通过 computed 属性 dict 从 Vuex 中获取字典数据,确保在组件中可以方便地使用字典项。

相关文章:

  • 《AI大模型开发笔记》Open-R1:对 DeepSeek-R1 的完全开源再现(翻译)
  • 静力触探数据智能预处理(6)
  • JavaScript 内置对象-Math对象
  • (学习总结23)Linux 目录、通配符、重定向、管道、shell、权限与粘滞位
  • [8-2-2] 队列实验_多设备玩游戏(红外改造)_重录
  • IWC万国表:源自瑞士的精密制表艺术(中英双语)
  • 第1期 定时器实现非阻塞式程序 按键控制LED闪烁模式
  • skywalking实现原理
  • unity学习39:连续动作之间的切换,用按键控制角色的移动
  • 编程技巧(基于STM32)第一章 定时器实现非阻塞式程序——按键控制LED灯闪烁模式
  • Spring Boot 定时任务:轻松实现任务自动化
  • PyQt6/PySide6 的信号与槽原理
  • YOLOv5-Seg 深度解析:与 YOLOv5 检测模型的区别
  • 四元数如何用于 3D 旋转(代替欧拉角和旋转矩阵)【ESP32指向鼠标】
  • 基于Python的Optimal Interpolation (OI) 方法实现
  • ZZNUOJ(C/C++)基础练习1091——1100(详解版)⭐
  • 差分解方程
  • [矩形绘制]
  • 图的遍历: 广度优先遍历和深度优先遍历
  • FPGA的星辰大海
  • 光明日报:家长孩子共同“息屏”,也要保证高质量陪伴
  • 新能源汽车,告别混乱创新
  • 内塔尼亚胡:以军将在未来几天“全力进入”加沙
  • 美凯龙:董事兼总经理车建兴被立案调查并留置
  • 人才争夺战,二三线城市和一线城市拼什么?洛阳官方调研剖析
  • 93岁南开退休教授陈生玺逝世,代表作《明清易代史独见》多次再版