商品分类:列表

This commit is contained in:
YunaiV
2023-12-10 22:12:33 +08:00
parent e971e09593
commit 8fd8ff9f70
6 changed files with 258 additions and 224 deletions
+25 -2
View File
@@ -53,8 +53,6 @@ export const convertToInteger = (num) => {
return Math.round(parsedNumber * 100)
}
/**
* 时间日期转换
* @param {dayjs.ConfigType} date 当前时间,new Date() 格式
@@ -77,3 +75,28 @@ export function formatDate(date, format) {
}
return dayjs(date).format(format)
}
/**
* 构造树型结构数据
*
* @param {*} data 数据源
* @param {*} id id字段 默认 'id'
* @param {*} parentId 父节点字段 默认 'parentId'
* @param {*} children 孩子节点字段 默认 'children'
* @param {*} rootId 根Id 默认 0
*/
export function handleTree(data, id = 'id', parentId = 'parentId', children = 'children', rootId = 0) {
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
// 循环所有项
const treeData = cloneData.filter(father => {
let branchArr = cloneData.filter(child => {
//返回每一项的子级数组
return father[id] === child[parentId]
});
branchArr.length > 0 ? father.children = branchArr : '';
//返回第一层
return father[parentId] === rootId;
});
return treeData !== '' ? treeData : data;
}