@lambo-design/pro-layout 1.0.0-beta.367 → 1.0.0-beta.369
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
>{{ item.name }}
|
|
18
18
|
<div class="line"></div>
|
|
19
19
|
</MenuItem>
|
|
20
|
-
<Submenu class="ibp-nav-sub-menu" v-else :key="item.name">
|
|
20
|
+
<Submenu class="ibp-nav-sub-menu" v-else :name="item.name" :key="item.name">
|
|
21
21
|
<template slot="title">
|
|
22
22
|
{{ item.name }}
|
|
23
23
|
</template>
|
|
@@ -65,6 +65,7 @@ export default {
|
|
|
65
65
|
data() {
|
|
66
66
|
return {
|
|
67
67
|
systemInfo: {},
|
|
68
|
+
originNavList: [], // 原始顶部菜单列表,用于判断是否要重复触发initNav
|
|
68
69
|
navList: [],
|
|
69
70
|
topMenList: [],
|
|
70
71
|
otherList: [],
|
|
@@ -109,12 +110,14 @@ export default {
|
|
|
109
110
|
},
|
|
110
111
|
initNav(data) {
|
|
111
112
|
if (
|
|
112
|
-
arraysEqual(this.
|
|
113
|
+
arraysEqual(this.originNavList, data) &&
|
|
113
114
|
this.topMenuNum === this.lastTopMenuNum
|
|
114
115
|
) {
|
|
115
116
|
return;
|
|
116
117
|
}
|
|
117
|
-
|
|
118
|
+
this.originNavList = data;
|
|
119
|
+
let dataClone = _.cloneDeep(data);
|
|
120
|
+
_.forEach(dataClone, (app) => {
|
|
118
121
|
let extendProps = app.extendProps;
|
|
119
122
|
let extendPropsL2 = extendProps?.extendProps;
|
|
120
123
|
app.parentName = extendPropsL2
|
|
@@ -122,9 +125,9 @@ export default {
|
|
|
122
125
|
: "";
|
|
123
126
|
});
|
|
124
127
|
// 如果组织了二级菜单展现,则对菜单进行分组
|
|
125
|
-
if (_.some(
|
|
128
|
+
if (_.some(dataClone, (app) => app.parentName)) {
|
|
126
129
|
let rlt = _.reduce(
|
|
127
|
-
|
|
130
|
+
dataClone,
|
|
128
131
|
(acc, cur) => {
|
|
129
132
|
if (cur.parentName) {
|
|
130
133
|
let curApp = _.find(acc, { name: cur.parentName });
|
|
@@ -145,12 +148,12 @@ export default {
|
|
|
145
148
|
);
|
|
146
149
|
this.navList = rlt;
|
|
147
150
|
} else {
|
|
148
|
-
this.navList =
|
|
151
|
+
this.navList = dataClone;
|
|
149
152
|
}
|
|
150
153
|
|
|
151
154
|
this.lastTopMenuNum = this.topMenuNum;
|
|
152
|
-
if (
|
|
153
|
-
let navList = deepCopy(
|
|
155
|
+
if (this.navList.length > this.topMenuNum) {
|
|
156
|
+
let navList = deepCopy(this.navList);
|
|
154
157
|
this.topMenList = navList.splice(0, this.topMenuNum);
|
|
155
158
|
this.otherList = navList;
|
|
156
159
|
} else {
|
|
@@ -228,6 +231,12 @@ export default {
|
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
233
|
}
|
|
234
|
+
|
|
235
|
+
}
|
|
236
|
+
</style>
|
|
237
|
+
|
|
238
|
+
<style lang="less">
|
|
239
|
+
.pro-layout-nav-wrapper {
|
|
231
240
|
.ibp-nav-sub-menu {
|
|
232
241
|
.ivu-select-dropdown {
|
|
233
242
|
margin-top: 0 !important;
|
|
@@ -238,14 +247,14 @@ export default {
|
|
|
238
247
|
display: flex !important;
|
|
239
248
|
}
|
|
240
249
|
.ivu-menu-item {
|
|
241
|
-
color: #333 !important;
|
|
250
|
+
color: var(--layout-header-drop-color, #333) !important;
|
|
242
251
|
border-radius: 4px !important;
|
|
243
|
-
background-color: var(--
|
|
244
|
-
margin-right: 10px;
|
|
252
|
+
background-color: var(--background-color-base, #f5f7f9) !important;
|
|
253
|
+
margin-right: 10px !important;
|
|
245
254
|
&:hover {
|
|
246
|
-
color: var(--
|
|
255
|
+
color: var(--layout-active-color, #488aff) !important;
|
|
247
256
|
}
|
|
248
257
|
}
|
|
249
258
|
}
|
|
250
259
|
}
|
|
251
|
-
</style>
|
|
260
|
+
</style>
|