字典管理(若依框架)

表设计

 

字典列表页面加载

前端页面:ruoyi-ui/src/views/system/dict/index.vue

 

该页面加载时,调用的方法为

 

getList -----> http://localhost:8080/system/dict/type/list?pageNum=1&pageSize=10

后台方法 :com.ruoyi.web.controller.system.SysDictTypeController#list

getDicts-----> http://localhost:8080/system/dict/data/type/sys_normal_disable

后台方法:com.ruoyi.web.controller.system.SysDictDataController#dictType

界面渲染逻辑:getList 查询的表为sys_dict_type,获取字典类型列表信息。getDicts查询的表为sys_dict_data,获取的是字典类型为sys_normal_disable数据(状态:0正常,1停用)。将字典类型状态1替换为停用,0替换为正常

字典数据页面加载

前端页面:(ruoyi-ui/src/views/system/dict/data.vue)

 

在字典列表页面,点击字典类型为sys_user_sex的链接,进入到字典数据页面。

该页面加载时调用的方法为

 

getType

对应的后台方法为com.ruoyi.web.controller.system.SysDictTypeController#getInfo, 通过字典类型的id,查询sys_dict_type表获取字典类型信息。如性别字典类型详情。

this.getList

getType请求完成后,会回调this.getList函数,再次发起请求。getList调用的是getDicts方法。

getDicts对应的后台方法为com.ruoyi.web.controller.system.SysDictDataController#dictType

通过字典类型查询sys_dict_data表获取字典数据。(字典类型已经通过getType获取到了)

listType

后台方法:com.ruoyi.web.controller.system.SysDictTypeController#list

查询该表的所有数据sys_dict_type,(用于字典名称查询使用)

this.getDicts("sys_normal_disable")

后台方法: com.ruoyi.web.controller.system.SysDictDataController#dictType

通过字典类型sys_normal_disable查询sys_dict_data表后去,字典数据。

渲染逻辑:通过字典id,获取到字典类型信息,再通过字典类型在字典数据表中获取数据。获取到的字典数据的状态字段为0和1。使用获取到的状态信息数据,将1替换为停用,0替换为正常。

### 若依框架字典表的使用方法 #### 1. 配置字典项 在若依框架中,字典项的配置可以通过数据库中的 `sys_dict_type` 和 `sys_dict_data` 表来完成。开发者可以在这些表中定义所需的字典类型及其对应的字典数据[^1]。 - **`sys_dict_type`**: 存储字典类型的名称和唯一标识符。 - **`sys_dict_data`**: 存储具体字典项的内容以及它们所属的字典类型。 通过这种方式,可以轻松实现对固定取值范围数据的集中化管理。 #### 2. 下拉框填充数据 为了在前端页面中动态加载下拉框选项,若依框架提供了便捷的方式。只需在 Vue 组件中引入并初始化字典组件即可: ```javascript export default { data() { return { dicts: ['province'], // 定义要使用的字典类型 }; }, }; ``` 上述代码会自动从后端获取对应字典类型 (`province`) 的所有键值对,并将其绑定到指定的 UI 控件上[^2]。 #### 3. 值转换 (Value to Label) 除了提供基础的选择功能外,在实际应用过程中还经常遇到需要将存储于数据库中的数值型字段转化为更具可读性的描述文字的需求。此时也可以借助该机制完成这一操作: 假设存在一条记录其状态字段为“0”,而我们的目标是让最终呈现出来的效果变为“正常”。那么只需要按照如下方式设置即可达成目的: ```html <el-tag :type="row.status === '0' ? '' : 'danger'" v-text="dict.type.sys_normal_disable[row.status]"></el-tag> ``` 这里利用了已经预先加载好的字典映射关系(`dict.type.xxx`)实现了即时替换显示内容的功能。 #### 4. 后台支持 最后值得一提的是,所有的这些便利都离不开良好的后台服务支撑。当涉及到跨平台或者独立模块开发时,则可能还需要额外关注如何正确集成相关接口逻辑等问题[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值