[
{
"id": 913,
"parent_id": 0,
"category_name": "中西成药",
"icon": "",
"level": 0,
"children": [
{
"id": 9124,
"parent_id": 9123,
"category_name": "呼吸系统",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 925,
"parent_id": 9123,
"category_name": "心脑血管",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9126,
"parent_id": 913,
"category_name": "消化系统",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 917,
"parent_id": 9123,
"category_name": "抗生素类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9128,
"parent_id": 9123,
"category_name": "感冒清热",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 910,
"parent_id": 9123,
"category_name": "风湿跌打",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9132,
"parent_id": 9123,
"category_name": "妇科用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9136,
"parent_id": 9123,
"category_name": "五官用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9137,
"parent_id": 9123,
"category_name": "皮肤用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9138,
"parent_id": 9123,
"category_name": "其他外用",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9141,
"parent_id": 9123,
"category_name": "营养滋补",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9143,
"parent_id": 9123,
"category_name": "神经系统",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9145,
"parent_id": 9123,
"category_name": "其他内服药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9288,
"parent_id": 9123,
"category_name": "肝胆系统",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9289,
"parent_id": 9123,
"category_name": "泌尿系统",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9290,
"parent_id": 9123,
"category_name": "儿科用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9291,
"parent_id": 9123,
"category_name": "肿瘤用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9292,
"parent_id": 9123,
"category_name": "内分泌药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9293,
"parent_id": 9123,
"category_name": "肛肠用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9294,
"parent_id": 9123,
"category_name": "男科用药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9300,
"parent_id": 9123,
"category_name": "止痛镇痛",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
}
],
"created_at": "2021-01-16 03:07:42 +0800 CST"
},
{
"id": 9154,
"parent_id": 0,
"category_name": "器械耗材",
"icon": "",
"level": 0,
"children": [
{
"id": 9158,
"parent_id": 9154,
"category_name": "跌打损伤类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9159,
"parent_id": 9154,
"category_name": "医用卫生材料类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9160,
"parent_id": 9154,
"category_name": "冷敷器具类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9161,
"parent_id": 9154,
"category_name": "康复理疗类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9162,
"parent_id": 9154,
"category_name": "注射穿刺器械类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9163,
"parent_id": 9154,
"category_name": "外科急救用品类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 964,
"parent_id": 9154,
"category_name": "床上护理用品类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9165,
"parent_id": 9154,
"category_name": "糖尿病护理用品类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9166,
"parent_id": 9154,
"category_name": "健康监测用品类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 917,
"parent_id": 9154,
"category_name": "计生用品类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9168,
"parent_id": 9154,
"category_name": "中医用品类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9169,
"parent_id": 9154,
"category_name": "其他类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
}
],
"created_at": "2021-01-16 03:07:49 +0800 CST"
},
{
"id": 9171,
"parent_id": 0,
"category_name": "中药",
"icon": "",
"level": 0,
"children": [
{
"id": 9172,
"parent_id": 9171,
"category_name": "中药材",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9173,
"parent_id": 9171,
"category_name": "精品中药",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9174,
"parent_id": 9171,
"category_name": "中药饮片",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
}
],
"created_at": "2021-01-16 03:08:03 +0800 CST"
},
{
"id": 9146,
"parent_id": 0,
"category_name": "食品保健",
"icon": "",
"level": 0,
"children": [
{
"id": 917,
"parent_id": 9146,
"category_name": "妇幼保健",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 948,
"parent_id": 9146,
"category_name": "基础营养",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9149,
"parent_id": 9146,
"category_name": "男士保健",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 910,
"parent_id": 9146,
"category_name": "女士营养",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 951,
"parent_id": 9146,
"category_name": "中老年保健",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9152,
"parent_id": 9146,
"category_name": "其他类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
}
],
"created_at": "2021-01-16 03:08:08 +0800 CST"
},
{
"id": 8856,
"parent_id": 0,
"category_name": "非药品",
"icon": "",
"level": 0,
"children": [
{
"id": 887,
"parent_id": 8856,
"category_name": "疤痕修护",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 860,
"parent_id": 8856,
"category_name": "适用五官",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 861,
"parent_id": 8856,
"category_name": "消毒用品",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 913,
"parent_id": 8856,
"category_name": "保健外用",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 9170,
"parent_id": 8856,
"category_name": "其他类",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 996,
"parent_id": 8856,
"category_name": "母婴健康",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 297,
"parent_id": 8856,
"category_name": "成人用品",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
}
],
"created_at": "2021-01-16 03:08:14 +0800 CST"
},
{
"id": 881,
"parent_id": 0,
"category_name": "美妆个护",
"icon": "",
"level": 0,
"children": [
{
"id": 885,
"parent_id": 8981,
"category_name": "其他用品",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 915,
"parent_id": 8981,
"category_name": "美容护肤",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 916,
"parent_id": 8981,
"category_name": "个人护理",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
},
{
"id": 917,
"parent_id": 8981,
"category_name": "家居清洁",
"icon": "",
"level": 1,
"children": null,
"created_at": "0001-01-01 00:00:00 +0000 UTC"
}
],
"created_at": "2021-01-16 03:08:17 +0800 CST"
}
]
methods:{
//首先需要在data中设置全局变量index,bool,arrSave
aaa(){
this.fz(this.categories, val[val.length - 1], 4)
第一个参数表示的是传入的要递归的数组,第二个参数是要查找任意一个节点的id,如果唯一键不是id,在下面对应的更改属性名称,注意其中ID的大小写,第三个参数,可以不要,当同一个页面有多个需要递归的数组时,用来区分这些数组,在
},
//val:所有产品分类/属性的数据 arr:将后端返回的产品分类/属性的最后一级id n:判断是分类(0表示分类)还是属性(1表示属性)的数据
fz (val, ID, n) {
val.every((val1, index1) => {
if (n == 3 || n == 4) { //如果有特殊需求,比如通过其他属性作为唯一键,就用这个if和else,如果没有需要就只使用else即可,3 4只是个示例
this.arrSave[this.index] = { id: val1.id, category_name: val1.category_name }
} else {
this.arrSave[this.index] = val1.id
}
if (val[index1].children != null) {
this.index++
this.fz(val[index1].children, ID, n)
} else { //说明到了某一个末尾节点了
if (val1.id == ID) { //已经将需要的ID找到,将全局变量bool置为1
this.bool = 1
//这个地方可以console this.arrSave的值 ,在这里处理获得的结果,如果不想在递归里面处理,那就在最后面将 this.arrSave return 出去
}
}
}
return this.bool == 0
})
if (this.bool == 0 && this.arrSave.length > 0) {
//bool==0说明还没找到,并且这是数组中已经将当前值保存到了arrSave中,但实际上这个值并不是需要 的值,所以没找到就将这个值删除
this.arrSave.pop()
}
if (this.index > 0) {
//并
this.index--
}
if (this.index == 0 && this.bool == true) {
//此时, index==0说明已经退到了最后一级,并且id也找到了,将bool重置为0,否则要在递归外面重置,那样会更麻烦,容易忘记
this.bool = 0
this.arrSave = [] //return this.arrSave //根据需求,如果最终想要的数据已经在找到对应ID时处理过了,那么这个值就可以清空了,如果想把最终得到的结果作为返回值那就return出去,不要清空,但是每次在调用方法 前,手动清空
}
},
}
//如果有什么不明白的联系qq:541496557