diff --git a/vue/element-ui-personal/components/Menu/MenuItem.vue b/vue/element-ui-personal/components/Menu/MenuItem.vue
new file mode 100644
index 0000000..061b070
--- /dev/null
+++ b/vue/element-ui-personal/components/Menu/MenuItem.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
diff --git a/vue/element-ui-personal/components/Menu/Submenu.vue b/vue/element-ui-personal/components/Menu/Submenu.vue
new file mode 100644
index 0000000..46d00cd
--- /dev/null
+++ b/vue/element-ui-personal/components/Menu/Submenu.vue
@@ -0,0 +1,278 @@
+
+
+
diff --git a/vue/element-ui-personal/index.js b/vue/element-ui-personal/index.js
index 0d6836a..addf6d5 100644
--- a/vue/element-ui-personal/index.js
+++ b/vue/element-ui-personal/index.js
@@ -1,7 +1,9 @@
+import MenuItem from "./components/Menu/MenuItem"
+import Submenu from "./components/Menu/Submenu"
import Message from "./components/Message"
import Select from './components/Select/Select'
-const components = [Select]
+const components = [MenuItem, Submenu, Select]
export default function (Vue) {
components.forEach(component => {
diff --git a/vue/element-ui-personal/mixins/vue-popper.js b/vue/element-ui-personal/mixins/vue-popper.js
index bc2efca..634d43f 100644
--- a/vue/element-ui-personal/mixins/vue-popper.js
+++ b/vue/element-ui-personal/mixins/vue-popper.js
@@ -43,7 +43,7 @@ export default {
this.showPopper = val
this.$emit('input', val)
if (this.disabled) return
- val && this.updatePopper()
+ val ? this.updatePopper() : this.destroyPopper()
}
}
},
diff --git a/vue/src/assets/styles/variables.scss b/vue/src/assets/styles/variables.scss
index 11a591e..94a88d1 100644
--- a/vue/src/assets/styles/variables.scss
+++ b/vue/src/assets/styles/variables.scss
@@ -36,16 +36,19 @@ $--color-info: $--color-teal;
}
}
-// sidebar
-$menu-text-color: #D6E2F0;
-$menu-active-text-color: $--color-primary;
-$menu-background: #304156;
-$menu-hover: #263445;
+//el-sub-menu的背景色
$sub-menu-background: #1f2d3d;
-$sub-menu-hover: #001528;
+//覆盖el-menu的背景色
+$--menu-background-color: #304156;
+//覆盖el-menu的文字颜色
+$--menu-item-font-color: hsla(0, 0%, 99.6%, .65);
+//el-menu的文字hover颜色
+$--menu-item-hover-color: #fefefe;
+//覆盖el-menu的文字hover背景颜色
+$--menu-item-hover-fill: none;
//侧边栏宽度
-$side-bar-width: 210px;
+$side-bar-width: 256px;
//头部导航栏高度
$nav-height: 50px;
//头部多页签栏高度
@@ -60,9 +63,6 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts';
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
:export {
- menu-text-color: $menu-text-color;
- menu-active-text-color: $menu-active-text-color;
- menu-background: $menu-background;
primary: $--color-primary;
info: $--color-info;
success: $--color-success;
diff --git a/vue/src/components/ContextMenu/index.vue b/vue/src/components/ContextMenu/index.vue
index 0fdd99d..bee4c99 100644
--- a/vue/src/components/ContextMenu/index.vue
+++ b/vue/src/components/ContextMenu/index.vue
@@ -67,7 +67,7 @@
.contextmenu {
margin: 0;
- background: $menu-background;
+ background: $--menu-background-color;
z-index: 10;
position: absolute;
list-style-type: none;
@@ -84,7 +84,6 @@
cursor: pointer;
&:hover {
- background: $menu-hover;
color: $--color-primary;
}
}
diff --git a/vue/src/layout/components/Sidebar/components/SidebarItem.vue b/vue/src/layout/components/Sidebar/components/SidebarItem.vue
index 77f0560..ed46fe1 100644
--- a/vue/src/layout/components/Sidebar/components/SidebarItem.vue
+++ b/vue/src/layout/components/Sidebar/components/SidebarItem.vue
@@ -11,7 +11,7 @@
return null
}
- function renderNode(h, {item, isNest, showParent, collapse}) {
+ function renderNode(h, {item, showParent, collapse}) {
let onlyOneChild = getOnlyChild(item)
const showSingle = onlyOneChild && !onlyOneChild.children
@@ -20,10 +20,7 @@
const {icon, title} = onlyOneChild.meta
return (
-