怎么通过字典,将后端返回的数据value渲染成对应的label?

本文介绍了一种在前端项目中使用全局过滤器,将后端返回的数据值(value)转换为对应的标签(label)的方法。通过注册自定义函数findByvalue,结合预定义的字典数据,实现数据展示的友好性和准确性。

怎么通过字典,将后端返回的数据value渲染成对应的label?

一个项目会用的很多,所以我直接用全局过滤器,代码可以直接复制用哦

1.首先直接po函数出来,这类数据处理的函数可放在一个专门的文件夹里

//根据字典的value显示label

//第一个参数是传进的label值,第二个参数是所需的字典

export const findByvalue = (value, dic) => {
    let result = '';
    if (validatenull(dic)) return value;
    if (typeof (value) == 'string' || typeof (value) == 'number' || typeof (value) == 'boolean') {
        let index = 0;
        index = findArray(dic, value);
        if (index != -1) {
            result = dic[index].label;
        } else {
            result = value;
        }
    } else if (value instanceof Array) {
        result = [];
        let index = 0;
        value.forEach(ele => {
            index = findArray(dic, ele);
            if (index != -1) {
                result.push(dic[index].label);
            } else {
                result.push(value);
            }
        });
        result = result.toString();
    }
    return result;
};

2.在main.js中注册全局过滤器

import { findByvalue } from '@/util/util'//先引入这个方法

Vue.filter("byValue", findByvalue);//再注册全局过滤器

3.写个字典

export const DIC = {
    // 维权状态
    rightsStatus: [{
        label: '等待维权',
        value: 0
    }, {
        label: '维权中',
        value: 1
    }, {
        label: '维权完成',
        value: 2
    }, {
        label: '维权确认',
        value: 3
    }, {
        label: '不可维权',
        value: 4
    }]
    }

4.把字典引进vue页面再注册,就可以在template上用了!

<template>
<div>
{{status|byValue(DIC.rightsStatus)}}
</div>
</template>

<script>
import { DIC } from "@/const/dic";
export default {
  data() {
    return {
      DIC: DIC,
      status:0
     		 }
    	  },
   methods:{
   //模仿后端数据
    getStatus(){
    	  this.status=2;
     }
   }
   }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值