后端接口只返回码值,那前端如何将码值转成对应的中文展示呢?
项目中后端接口都是将码值返给前端,前端通过公共获取码值的接口然后将其对应转码
以下是举例操作:
created() {
//这是公共接口的码值表
let oneType = [
{
value: '01',
content: '一类',
},
{
value: '02',
content: '二类',
},
];
//这是接口接口返回的结果值
let result = [
{
proType: '01',
},
{
proType: '02',
},
];
//调用转码方法
result.forEach((item) => {
item.proName = this.getCode(oneType, item.proType);
});
console.log('result', result);
},
methods: {
//前端转码方法
getCode: (codeInfo, codeValue, isMult = false) => {
if (!codeInfo) {
return codeValue;
}
if (!codeValue) {
return '';
}
if (isMult) codeValue = isMult ? codeValue.split(',') : codeValue;
let codeName = '',
codeValues = [];
for (let i = 0; i < codeInfo.length; i++) {
if (Array.isArray(codeValue)) {
for (let j = 0; j < codeValue.length; j++) {
if (codeValue[j] === codeInfo[i].value) {
codeValues.push(codeInfo[i].content);
}
}
} else {
if (codeValue === codeInfo[i].value) {
codeName = codeInfo[i].content;
break;
}
}
codeName = codeValues.join(',');
}
return codeName == '' ? codeValue : codeName;
},
},