<template>
<div>
<el-button @click="clickBtn">点击</el-button>
</div>
</template>
<script>
export default {
name: "",
components: {},
props: {},
data() {
return {
data: [{
children: [{
children: [{
children: [{
children: [{
children: [],
id: "173125778349756915",
parentId: "173125778349756900",
planName: "项目1-1-1-1-1",
}],
id: "173125778349756900",
parentId: "173125778349756894",
planName: "项目1-1-1-1",
}],
id: "173125778349756894",
parentId: "173125778349756508",
planName: "项目1-1-1",
}],
id: "173125778349756508",
parentId: "173125778349756507",
planName: "项目1-1",
}],
id: "173125778349756507",
parentId: "0",
planName: "项目1",
}],
arr: []
};
},
filters: {},
computed: {},
watch: {},
created() {},
mounted() {},
beforeDestroy() {},
methods: {
clickBtn() {
this.arr = []
let newData = this.flatten(this.data);
let arrData = []
arrData = this.findKey("173125778349756915", newData)
console.log(arrData.splice(0, arrData.length - 1));
},
flatten(arr) {
var res = [];
arr.map((item) => {
if (Array.isArray(item.children)) {
res = res.concat(this.flatten(item.children));
}
res.push(item);
});
return res;
},
findKey(key, data1) {
if (key) {
this.arr.push(key);
}
let index = data1.findIndex((item) => item.id === key);
if (index >= 0) {
this.findKey(data1[index].parentId, data1);
}
return this.arr;
}
}
}
</script>
<style scoped lang="less"></style>
树状结构根据获取父级id
最新推荐文章于 2024-05-10 17:21:46 发布