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 => {
|
||||
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) {
|
||||
hashMap[category.parentId].children.push(current)
|
||||
} else {
|
||||
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
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in New Issue