接口请求时,会遇到前端需要的值是列表,但是后端返回的字段是对象,例如接口文档的描述如下:
字段含义:
studentTypeJuniorCollege--学生(数据源:教务)-专科生数
studentTypeOverseasStudent--学生(数据源:教务)-留学生数
studentTypeCorrespondenceStudent--学生(数据源:教务)-函授生数
我们的列表如下:如果手动去一个一个指定容易出错,这时候我们可以调整一下,给每个值一个id这个id和接口返回的对象key是一致的,然后通过循环遍历来获取赋值,就不容易出错了。
修改前
list: [{
title: '专科生',
value: 0}, {
title: '留学生',
value: 0}, {
title: '函授生',
value: 0}, {
title: '全日制在校生',
value: 0}, {
title: '折合在校生',
value: 0}
]
修改后
list: [{
title: '专科生',
value: 0,
id: 'studentTypeJuniorCollege'
}, {
title: '留学生',
value: 0,
id: 'studentTypeOverseasStudent'
}, {
title: '函授生',
value: 0,
id: 'studentTypeCorrespondenceStudent'
}, {
title: '全日制在校生',
value: 0,
id: 'learningTypeFullTime'
}, {
title: '折合在校生',
value: 0,
id: 'learningTypeAll'
},],
请求接口获取值
getData() {
var that = this;
getBaseData({year: dayjs().format("YYYY")}).then(res => {
if (res.data) {
that.list.forEach((type) => {
type.value = res.data[type.id]
});
}
}).catch(err => {
})
},
这样不用担心赋值出错,也方便管理。