uniapp 前端数据显示数据字典值 程序设计

本文介绍了一种在uniapp项目中实现前后端联动的字典转换方案,通过前端拦截器与后端服务配合,实现了数据展示时从字典码到字典文的转换。

需求

uniapp页面上显示的Code,需要替换成后端数据字典中的Text。

包括

  1. 列表展示
  2. 数据编辑

思路

  前端关键点

    1、页面修改:取值统一改成属性加后缀的方式显示(例如,sex_dictTxt)

    2、增加拦截器(在App.vue中找个钩子添加):

        2-1:在向后端发数据前拦截,用来替换sex_dictTxt 和 sex,出于vue是响应式的,应该先复制一个副本后修改,最后发出。

        2-2:在接收到后端服务之后,可以直接使用后端服务传过来的sex_dictTxt即可

        2-3:在发送数据之前,把dictTxt对应的真实code替回去(如果有必要的话)

  后端关键点

  1、字典服务:需要有一个后端的字典查询服务。在数据返回给前端之前,对数据进行一次转换操作。

  2、数据对象增加元数据:给具体要转换的那些字段打上注解(例如,User.java, User.sex字段,需要打上一个@UniAppDict(xxx))方便工具方法(可能是模板方法或者拦截器)对指定字段进行转义。

  3、在service层返回给controller层数据之前,对已查出来的数据进行加工(由于查出来的对象集合中,需要转换的属性都打注解了)。

  4、controller层尽量使用js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值