mirror of https://github.com/halo-dev/halo-admin
fix: deep sub-categories not showing has password status (#527)
Signed-off-by: Ryan Wang <i@ryanc.cc>pull/531/head
parent
812daa2eae
commit
e7e443778c
|
@ -154,22 +154,23 @@ export default {
|
||||||
categories.forEach(category => (hashMap[category.id] = { ...category, children: [] }))
|
categories.forEach(category => (hashMap[category.id] = { ...category, children: [] }))
|
||||||
categories.forEach(category => {
|
categories.forEach(category => {
|
||||||
const current = hashMap[category.id]
|
const current = hashMap[category.id]
|
||||||
const parent = hashMap[category.parentId]
|
|
||||||
|
|
||||||
if (current.password) {
|
|
||||||
current.hasPassword = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parent && (parent.password || parent.hasPassword)) {
|
|
||||||
current.hasPassword = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if (category.parentId) {
|
if (category.parentId) {
|
||||||
hashMap[category.parentId].children.push(current)
|
hashMap[category.parentId].children.push(current)
|
||||||
} else {
|
} else {
|
||||||
treeData.push(current)
|
treeData.push(current)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// set hasPassword field for tree node
|
||||||
|
const setHasPasswordField = (categories, hasPassword = false) => {
|
||||||
|
categories.forEach(category => {
|
||||||
|
category.hasPassword = !!category.password || hasPassword
|
||||||
|
if (category.children && category.children.length) {
|
||||||
|
setHasPasswordField(category.children, category.hasPassword)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
setHasPasswordField(treeData)
|
||||||
return treeData
|
return treeData
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue