fix menu open

This commit is contained in:
zuiidea
2017-04-21 10:47:55 +08:00
parent b6c3cb8a53
commit 4c6deb49d3
3 changed files with 16 additions and 12 deletions
+16 -4
View File
@@ -7,12 +7,15 @@ import { arrayToTree } from '../../utils'
const Menus = ({ siderFold, darkTheme, location, handleClickNavMenu, navOpenKeys, changeOpenKeys, menu }) => {
// 生成树状
const menuTree = arrayToTree(menu.filter(_ => _.mpid !== -1), 'id', 'mpid')
const levelMap = {}
// 递归生成菜单
const getMenus = (menuTreeN, siderFoldN) => {
return menuTreeN.map(item => {
if (item.chindren) {
if (item.mpid) {
levelMap[item.id] = item.mpid
}
return (
<Menu.SubMenu
key={item.id}
@@ -37,11 +40,20 @@ const Menus = ({ siderFold, darkTheme, location, handleClickNavMenu, navOpenKeys
}
const menuItems = getMenus(menuTree, siderFold)
// 保持选中
const getAncestorKeys = (key) => {
const map = {
'/navigation/navigation2': ['/navigation'],
let map = {}
const getParent = (index) => {
const result = [String(levelMap[index])]
if (levelMap[result[0]]) {
result.unshift(getParent(result[0])[0])
}
return result
}
for (let index in levelMap) {
if ({}.hasOwnProperty.call(levelMap, index)) {
map[index] = getParent(index)
}
}
return map[key] || []
}
-1
View File
@@ -133,7 +133,6 @@ export default {
}
},
handleNavOpenKeys (state, { payload: navOpenKeys }) {
console.log(navOpenKeys)
return {
...state,
...navOpenKeys,
-7
View File
@@ -130,13 +130,6 @@ module.exports = [
name: 'Test Navigation21',
router: '/navigation/navigation2/navigation1',
},
{
id: 621,
bpid: 62,
mpid: 62,
name: 'Test Navigation21',
router: '/navigation/navigation2/navigation1',
},
{
id: 622,
bpid: 62,