首页 > 其他分享 >列表查询接口拼接数据太多,后端不想再加,而一个需求要往里面的二层数据添加一个字段时,再加一个接口前端怎么循环拼接

列表查询接口拼接数据太多,后端不想再加,而一个需求要往里面的二层数据添加一个字段时,再加一个接口前端怎么循环拼接

时间:2022-11-18 20:24:49浏览次数:50  
标签:res 接口 列表 字段 拼接 let data

因为客户想在列表信息上添加京东价格这个字段,这个字段又在列表查询里面的二级表格里面。后端大哥就说还是重新写一个接口吧。

所以我就需要

1获取列表数据里面的订单号(array列表)

2将订单号列表作为新接口的参数

3拿到新接口返回的数据后,将其拼接到原来列表请求的数据中去

 

 

后来我又发现,两个步骤1,3里面的功能很相似(都是循环,只不过最后添加进页面列表的时候 多寻循环了一层)。

所以,我就想把他封装起来,结果就是下面你们看到的样子。

上代码

methodOfAccess: function(list, arr, tag){
            for(let i = 0; i < list.length; i++){
                if(tag === 1){
                    arr.push(list[i].orderId)
                }else if(tag === 2){
                    for(let j = 0; j<list[i].items.length; j++){
                        list[i].items[j].jdnum = arr[i].jdnum;
                    }
                }
            };
            if(tag === 1){
                return  arr
            }else {
                return list
            }
        },

 接下来就是调用了,基本就是

let newArr = [];

let a = this.methodOfAccess(res.data, newArr, 1);

let page = res.data;

// 新接口

data:newArr,

then(res){

  if(res.code == 1){
    page =  this.methodOfAccess(page ,res.data, 2);

  }  
}

...

...

 

结语:上面那样就可以成功了。

不过最后发现原本的接口里面就有这个字段了,白瞎浪费了写了这个方法。所以写出来让大家见笑了。

标签:res,接口,列表,字段,拼接,let,data
From: https://www.cnblogs.com/zjx-k423/p/16904196.html

相关文章