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

Vue2 字段值映射通用方法

数据库存是Y/N 但是展示到页面要变成 是/否,或者别的映射值。最直接的方式是使用三元表达式,但是随着项目越来越大,有很多这种映射管理起来不是很方便,所以抽取一个成一个配置文件就很好解决问题。

目录结构

定义映射文件mappings.js

// 定义所有字段的映射规则
const FieldMappings = {yn: { 'Y': '是', 'N': '否' },switch: { 'Y': '开', 'N': '关' },status: { '1': '启用', '2': '禁用', '3': '审核中' },level: { '1': '初级', '2': '中级', '3': '高级' },gender: {'0': '女','1': '男','2': '未知'}
}// 导出映射表
export default FieldMappings

dictUtils.js

import FieldMappings from './mappings'/*** 根据映射类型和值,返回对应的标签* 如果 map 不等于 undefined,那么:返回 map[value] 的值,如果这个值是 null 或 undefined,则返回 '未知',否则:返回 原值value* @param {string} value - 原始值,如 'Y'* @param {string} mapType - 映射类型,如 'yn'* @returns {string} 映射后的文本,如 '是'*/
export function mapValue(value, mapTyspe) {const map = FieldMappings[mapType]return map !== undefined ? map[value] ?? "未知" : value;
}

HomeView.vue

<template><div><a-table :dataSource="data" :columns="columns" rowKey="id"><template slot="isFree" slot-scope="text, record, index"><!-- {{ record.isFree === 'Y' ? '是' : '否' }} -->{{ mapValue(record.isFree, "yn") }}</template></a-table></div>
</template><script>
// 导入通用map工具
import { mapValue } from '@/utils/dictUtils'export default {data() {return {data: [{ id: 1, name: "会员套餐", isFree: "Y", other: "ldj01" },{ id: 2, name: "试用套餐", isFree: "N", other: "ldj02" },],columns: [{ title: "名称", dataIndex: "name" },{title: "是否免费",dataIndex: "isFree",scopedSlots: { customRender: "isFree" },},{title: "其它",dataIndex: "other",scopedSlots: { customRender: "other" },},],};},methods: {mapValue  // 必须把 mapValue 挂到 methods,这样才能正常使用}
};
</script>

效果是一样的

如果我修改成 开和关,只需要应用不同的mapTpye就行

http://www.dtcms.com/a/323461.html

相关文章:

  • Python 属性描述符(描述符用法建议)
  • 基于Prometheus、Grafana、Loki与Tempo的统一监控平台故障排查与解决方案
  • redis开启局域网访问
  • C++讲解---通过转换函数和运算符函数直接调用类的对象
  • Horse3D引擎研发笔记(三):使用QtOpenGL的Shader编程绘制彩色三角形
  • Aurora设计注意问题
  • 【递归、搜索和回溯】FloodFill 算法介绍及相关例题
  • 11. 为什么要用static关键字
  • 香橙派 RK3588 部署千问大模型 Qwen2-VL-2B 多轮交互式对话
  • 【工具】Python多环境管理
  • ubuntu安装ollama流程
  • Day 8: 深度学习综合实战与进阶技术 - 从优化到部署的完整流程
  • Java+Vue打造的采购招投标一体化管理系统,涵盖招标、投标、开标、评标全流程,功能完备,附完整可二次开发的源码
  • 数据结构day06
  • 102-基于Spark的招聘数据预测分析推荐系统
  • 物质和暗物质形成机制
  • 【排序算法】④堆排序
  • 工具箱许愿墙项目发布
  • AI_RAG
  • 复现论文关于3-RPRU并联机器人运动学建模与参数优化设计
  • 机器翻译实战:使用Gensim训练中英文词向量模型及可视化
  • Android之gradle和gradlew命令编译项目总结
  • 消息队列核心功能和消息队列做异步的优势
  • C++:继承[下篇]
  • Vue 使用element plus组件库提示doesn‘t work properly without JavaScript enabled
  • [ MySQL 数据库 ] 多表关联查询
  • STM32HAL库 -- 10.DMA外设实战(UART串口+DMA读取传感器数据)
  • Tangram官网教程
  • Qt Graphics View框架概述
  • 夺宝奇兵 古老之圈 送修改器(The Great Circle)免安装中文版