Cascader 级联选择器的数据是后端返回的 但是数据是好几个不同的接口 怎样拼接成需要的数据

Cascader 级联选择器的数据是后端返回的 但是数据是好几个不同的接口 怎样拼接成需要的数据

Cascader 级联选择器的数据是后端返回的 但是数据是好几个不同的接口 怎样拼接成需要的数据


回答:

Cascader 数据结构无非是树形的数据结构。

我先假设你有两个关联的数据接口。(后端老哥应该有设置表之间的关联)

例如:

接口1:

var a = [

{id:16, name:"数码",productCount:1},

{id:17, name:"衣服",productCount:1},

]

接口2:

var b = [

{id:1, parentId:16, name:"手机"},

{id:2, parentId:17, name:"外套"},

{id:3, parentId:16, name:"电脑"},

{id:4, parentId:16, name:"耳机"},

]

用例:
a数组的id 和 b数组的parentId 是关联的,所以我们可以

b.forEach(o => {

const item = a.find(({id}) => id === o.parentId)

item && item.children ? item.children.push(o) : item.children = [o]

})

console.log(a);

[

{

"id": 16,

"name": "数码",

"productCount": 1,

"children": [

{

"id": 1,

"parentId": 16,

"name": "手机"

},

{

"id": 3,

"parentId": 16,

"name": "电脑"

},

{

"id": 4,

"parentId": 16,

"name": "耳机"

}

]

},

{

"id": 17,

"name": "衣服",

"productCount": 1,

"children": [

{

"id": 2,

"parentId": 17,

"name": "外套"

}

]

}

]

以上是 Cascader 级联选择器的数据是后端返回的 但是数据是好几个不同的接口 怎样拼接成需要的数据 的全部内容, 来源链接: utcz.com/p/936339.html

回到顶部