Browse Source

update element-ui

Pan 7 years ago
parent
commit
74bb623d68

+ 1 - 1
package.json

@@ -14,7 +14,7 @@
14
   },
14
   },
15
   "dependencies": {
15
   "dependencies": {
16
     "axios": "0.17.1",
16
     "axios": "0.17.1",
17
-    "element-ui": "2.0.8",
17
+    "element-ui": "2.3.4",
18
     "js-cookie": "2.2.0",
18
     "js-cookie": "2.2.0",
19
     "normalize.css": "7.0.0",
19
     "normalize.css": "7.0.0",
20
     "nprogress": "0.2.0",
20
     "nprogress": "0.2.0",

+ 24 - 51
src/styles/sidebar.scss

@@ -2,18 +2,21 @@
2
   // 主体区域
2
   // 主体区域
3
   .main-container {
3
   .main-container {
4
     min-height: 100%;
4
     min-height: 100%;
5
-    transition: margin-left 0.28s;
5
+    transition: margin-left .28s;
6
     margin-left: 180px;
6
     margin-left: 180px;
7
-  } // 侧边栏
7
+  }
8
+  // 侧边栏
8
   .sidebar-container {
9
   .sidebar-container {
9
-    transition: width 0.28s;
10
-    width: 180px!important;
10
+    transition: width .28s;
11
+    width: 180px !important;
11
     height: 100%;
12
     height: 100%;
12
     position: fixed;
13
     position: fixed;
14
+    font-size: 0px;
13
     top: 0;
15
     top: 0;
14
     bottom: 0;
16
     bottom: 0;
15
     left: 0;
17
     left: 0;
16
     z-index: 1001;
18
     z-index: 1001;
19
+    overflow: hidden;
17
     a {
20
     a {
18
       display: inline-block;
21
       display: inline-block;
19
       width: 100%;
22
       width: 100%;
@@ -23,78 +26,48 @@
23
     }
26
     }
24
     .el-menu {
27
     .el-menu {
25
       border: none;
28
       border: none;
26
-      width: 100%;
29
+      width: 100% !important;
27
     }
30
     }
28
   }
31
   }
29
   .hideSidebar {
32
   .hideSidebar {
30
-    .sidebar-container,.sidebar-container .el-menu {
31
-      width: 36px!important;
32
-      // overflow: inherit;
33
+    .sidebar-container {
34
+      width: 36px !important;
33
     }
35
     }
34
     .main-container {
36
     .main-container {
35
       margin-left: 36px;
37
       margin-left: 36px;
36
     }
38
     }
37
-  }
38
-  .hideSidebar {
39
     .submenu-title-noDropdown {
39
     .submenu-title-noDropdown {
40
-      padding-left: 10px!important;
40
+      padding-left: 10px !important;
41
       position: relative;
41
       position: relative;
42
-      span {
43
-        height: 0;
44
-        width: 0;
45
-        overflow: hidden;
46
-        visibility: hidden;
47
-        transition: opacity .3s cubic-bezier(.55, 0, .1, 1);
48
-        opacity: 0;
49
-        display: inline-block;
50
-      }
51
-      &:hover {
52
-        span {
53
-          display: block;
54
-          border-radius: 3px;
55
-          z-index: 1002;
56
-          width: 140px;
57
-          height: 56px;
58
-          visibility: visible;
59
-          position: absolute;
60
-          right: -145px;
61
-          text-align: left;
62
-          text-indent: 20px;
63
-          top: 0px;
64
-          background-color: $subMenuBg!important;
65
-          opacity: 1;
66
-        }
42
+      .el-tooltip {
43
+        padding: 0 10px !important;
67
       }
44
       }
68
     }
45
     }
69
     .el-submenu {
46
     .el-submenu {
70
       &>.el-submenu__title {
47
       &>.el-submenu__title {
71
-        padding-left: 10px!important;
48
+        padding-left: 10px !important;
72
         &>span {
49
         &>span {
73
-          display: none;
50
+          height: 0;
51
+          width: 0;
52
+          overflow: hidden;
53
+          visibility: hidden;
54
+          display: inline-block;
74
         }
55
         }
75
         .el-submenu__icon-arrow {
56
         .el-submenu__icon-arrow {
76
           display: none;
57
           display: none;
77
         }
58
         }
78
       }
59
       }
79
-      .nest-menu {
80
-        .el-submenu__icon-arrow {
81
-          display: block!important;
82
-        }
83
-        span {
84
-          display: inline-block!important;
85
-        }
86
-      }
87
     }
60
     }
88
   }
61
   }
89
   .nest-menu .el-submenu>.el-submenu__title,
62
   .nest-menu .el-submenu>.el-submenu__title,
90
   .el-submenu .el-menu-item {
63
   .el-submenu .el-menu-item {
91
-    min-width: 180px!important;
92
-    background-color: $subMenuBg!important;
64
+    min-width: 180px !important;
65
+    background-color: $subMenuBg !important;
93
     &:hover {
66
     &:hover {
94
-      background-color: $menuHover!important;
67
+      background-color: $menuHover !important;
95
     }
68
     }
96
   }
69
   }
97
-  .el-menu--collapse .el-menu .el-submenu{
98
-    min-width: 180px!important;
70
+  .el-menu--collapse .el-menu .el-submenu {
71
+    min-width: 180px !important;
99
   }
72
   }
100
 }
73
 }

+ 5 - 4
src/views/layout/components/Sidebar/SidebarItem.vue

@@ -2,17 +2,18 @@
2
   <div class="menu-wrapper">
2
   <div class="menu-wrapper">
3
     <template v-for="item in routes" v-if="!item.hidden&&item.children">
3
     <template v-for="item in routes" v-if="!item.hidden&&item.children">
4
 
4
 
5
-      <router-link v-if="item.children.length===1 && !item.children[0].children && !item.alwaysShow" :to="item.path+'/'+item.children[0].path" :key="item.children[0].name">
5
+      <router-link v-if="item.children.length===1 && !item.children[0].children && !item.alwaysShow" :to="item.path+'/'+item.children[0].path"
6
+        :key="item.children[0].name">
6
         <el-menu-item :index="item.path+'/'+item.children[0].path" :class="{'submenu-title-noDropdown':!isNest}">
7
         <el-menu-item :index="item.path+'/'+item.children[0].path" :class="{'submenu-title-noDropdown':!isNest}">
7
           <svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"></svg-icon>
8
           <svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"></svg-icon>
8
-          <span v-if="item.children[0].meta&&item.children[0].meta.title">{{item.children[0].meta.title}}</span>
9
+          <span v-if="item.children[0].meta&&item.children[0].meta.title" slot="title">{{item.children[0].meta.title}}</span>
9
         </el-menu-item>
10
         </el-menu-item>
10
       </router-link>
11
       </router-link>
11
 
12
 
12
       <el-submenu v-else :index="item.name||item.path" :key="item.name">
13
       <el-submenu v-else :index="item.name||item.path" :key="item.name">
13
         <template slot="title">
14
         <template slot="title">
14
           <svg-icon v-if="item.meta&&item.meta.icon" :icon-class="item.meta.icon"></svg-icon>
15
           <svg-icon v-if="item.meta&&item.meta.icon" :icon-class="item.meta.icon"></svg-icon>
15
-          <span v-if="item.meta&&item.meta.title">{{item.meta.title}}</span>
16
+          <span v-if="item.meta&&item.meta.title" slot="title">{{item.meta.title}}</span>
16
         </template>
17
         </template>
17
 
18
 
18
         <template v-for="child in item.children" v-if="!child.hidden">
19
         <template v-for="child in item.children" v-if="!child.hidden">
@@ -21,7 +22,7 @@
21
           <router-link v-else :to="item.path+'/'+child.path" :key="child.name">
22
           <router-link v-else :to="item.path+'/'+child.path" :key="child.name">
22
             <el-menu-item :index="item.path+'/'+child.path">
23
             <el-menu-item :index="item.path+'/'+child.path">
23
               <svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"></svg-icon>
24
               <svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"></svg-icon>
24
-              <span v-if="child.meta&&child.meta.title">{{child.meta.title}}</span>
25
+              <span v-if="child.meta&&child.meta.title" slot="title">{{child.meta.title}}</span>
25
             </el-menu-item>
26
             </el-menu-item>
26
           </router-link>
27
           </router-link>
27
         </template>
28
         </template>

+ 10 - 1
src/views/layout/components/Sidebar/index.vue

@@ -1,6 +1,15 @@
1
 <template>
1
 <template>
2
   <scroll-bar>
2
   <scroll-bar>
3
-    <el-menu mode="vertical" unique-opened :default-active="$route.path" :collapse="isCollapse" background-color="#304156" text-color="#fff" active-text-color="#409EFF">
3
+    <el-menu
4
+      mode="vertical"
5
+      :collapse-transition="false"
6
+      :show-timeout="200"
7
+      :default-active="$route.path"
8
+      :collapse="isCollapse"
9
+      background-color="#304156"
10
+      text-color="#bfcbd9"
11
+      active-text-color="#409EFF"
12
+    >
4
       <sidebar-item :routes="routes"></sidebar-item>
13
       <sidebar-item :routes="routes"></sidebar-item>
5
     </el-menu>
14
     </el-menu>
6
   </scroll-bar>
15
   </scroll-bar>