Skip to content

Commit 83bafbd

Browse files
committed
Fixed menu tree
1 parent 6efd7e1 commit 83bafbd

1 file changed

Lines changed: 23 additions & 12 deletions

File tree

src/models/global.js

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default {
1616
role_names: [],
1717
},
1818
menuPaths: {},
19+
menuMap: {},
1920
menus: [],
2021
},
2122

@@ -61,27 +62,34 @@ export default {
6162
});
6263

6364
const menuPaths = {};
64-
function findPath(data) {
65+
const menuMap = {};
66+
function fillData(data) {
6567
for (let i = 0; i < data.length; i += 1) {
68+
menuMap[data[i].record_id] = data[i];
6669
if (data[i].router !== '') {
6770
menuPaths[data[i].router] = data[i];
6871
}
6972
if (data[i].children && data[i].children.length > 0) {
70-
findPath(data[i].children);
73+
fillData(data[i].children);
7174
}
7275
}
7376
}
74-
findPath(menuData);
77+
fillData(menuData);
7578

76-
yield put({
77-
type: 'saveMenuPaths',
78-
payload: menuPaths,
79-
});
80-
81-
yield put({
82-
type: 'menuEvent',
83-
pathname,
84-
});
79+
yield [
80+
put({
81+
type: 'saveMenuPaths',
82+
payload: menuPaths,
83+
}),
84+
put({
85+
type: 'saveMenuMap',
86+
payload: menuMap,
87+
}),
88+
put({
89+
type: 'menuEvent',
90+
pathname,
91+
}),
92+
];
8593
},
8694
},
8795

@@ -110,6 +118,9 @@ export default {
110118
saveMenuPaths(state, { payload }) {
111119
return { ...state, menuPaths: payload };
112120
},
121+
saveMenuMap(state, { payload }) {
122+
return { ...state, menuMap: payload };
123+
},
113124
saveMenus(state, { payload }) {
114125
return { ...state, menus: payload };
115126
},

0 commit comments

Comments
 (0)