树形菜单的身影在前端随处可见,一个好的树形数据展示更有利于前端开发效率,今天我将分享下个人树形菜单的写法,不喜勿喷
fetchSearchOperate().then((response) => {
if (response.status == 200) {
response = response.data;
var arr = []; //定义数组接收自定义的树形数据
arr = tree(response, []);
//递归遍历树图
function tree(data, arr) {
data.forEach((item, index) => {
var child = [];
if (item.children.length > 0) {
child = tree(item.children, [])
}
arr.push({
id: item.id,
label: item.title,
pid: item.pid == undefined ? 0 : item.pid, //新加的一行
children: child
})
})
return arr;
}
this.data = arr;
setTimeout(() => {
this.listLoading = false;
}, 1 * 1000);
}
});