从接口中获取字典数据:find一一对应编码,显示状态

154 阅读1分钟

后端返回的状态是数字形式

image.png

如何对应起来为汉字形式

  • 对应的状态名称在另一个接口文档里;

这个接口的数据形式如下

  • 是一个数组里面,有12个对象;
  • 每一个对象里面的dataValue,就是对应的后端返回的状态的数值;

image.png

从字典接口获取数据

  • 直接传入参数,获取数据;
import { dataListBase } from '@/api/wms/rf'
data() {
list:[]
},
created() {
this.getDataListBase()
},
getDataListBase(){
      let request = { dictCode:"B0005" }
      dataListBase(request).then(result=> {
	console.log('字典数据6666', result)
	this.list = result.data.items				                 console.log(this.list.find(item=>item.dataValue=='31').dataName)
			})
		},

代码的写法

  • 本来就是在一个列表里显示的;
<el-table border :data="dataList" @row-click="handleRowClick">
    <el-table-column prop="orderState" label="状态">
    </el-table-column>
 </el-table>
  • 现在用一个<template slot-scope="scope"></template>,给他加入一个一段函数;
  • 示例如下:
<el-table-column prop="orderState" label="状态">
 <template slot-scope="scope">	
 {{list.find(item=>item.dataValue==scope.row.orderState).dataName}}
 </template> 
</el-table-column>

关键点

其余的都会,就是这个find函数的用法这次派上了用场

  • find函数只能用在数组上,并且只返回通过测试(函数内判断的)的数组的第一个元素;
  • 此处数组内的元素是对象,所以返回第一个符合特征的元素里面的对象,并取这个对象里面的dataName;