Commit cbaf4e236132e86f620f71ea53666a0f74e98006
1 parent
5d6bf568
update Menu style
Showing
2 changed files
with
53 additions
and
208 deletions
Show diff stats
examples/routers/menu.vue
1 | <template> | 1 | <template> |
2 | - <div> | ||
3 | - <Menu ref="menu" active-name="1-2" :open-names="openNames" theme="light" accordion @on-open-change="handleOpenChange"> | ||
4 | - <Submenu name="1"> | ||
5 | - <template slot="title"> | ||
6 | - <Icon type="ios-analytics"></Icon> | ||
7 | - Navigation One | ||
8 | - </template> | ||
9 | - <MenuGroup title="Item 1"> | ||
10 | - <MenuItem name="1-1">Option 1</MenuItem> | ||
11 | - <MenuItem name="1-2">Option 2</MenuItem> | ||
12 | - </MenuGroup> | ||
13 | - <MenuGroup title="Item 2"> | ||
14 | - <MenuItem name="1-3">Option 3</MenuItem> | ||
15 | - <MenuItem name="1-4">Option 4</MenuItem> | ||
16 | - </MenuGroup> | ||
17 | - </Submenu> | ||
18 | - <Submenu name="2"> | ||
19 | - <template slot="title"> | ||
20 | - <Icon type="ios-filing"></Icon> | ||
21 | - Navigation Two | ||
22 | - </template> | ||
23 | - <MenuItem name="2-1" to="/button">Option 5</MenuItem> | ||
24 | - <MenuItem name="2-2" to="//iviewui.com" target="_blank">Option 6</MenuItem> | ||
25 | - <Submenu name="3"> | ||
26 | - <template slot="title">Submenu</template> | ||
27 | - <MenuItem name="3-1">Option 7</MenuItem> | ||
28 | - <MenuItem name="3-2">Option 8</MenuItem> | ||
29 | - </Submenu> | ||
30 | - <Submenu name="4"> | ||
31 | - <template slot="title">Submenu</template> | ||
32 | - <MenuItem name="4-1">Option 7</MenuItem> | ||
33 | - <MenuItem name="4-2">Option 8</MenuItem> | ||
34 | - </Submenu> | ||
35 | - </Submenu> | ||
36 | - <Submenu name="5"> | ||
37 | - <template slot="title"> | ||
38 | - <Icon type="ios-gear"></Icon> | ||
39 | - Navigation Three | ||
40 | - </template> | ||
41 | - <MenuItem name="5-1">Option 9</MenuItem> | ||
42 | - <MenuItem name="5-2">Option 10</MenuItem> | ||
43 | - <MenuItem name="5-3">Option 11</MenuItem> | ||
44 | - <MenuItem name="5-4">Option 12</MenuItem> | ||
45 | - </Submenu> | ||
46 | - </Menu> | ||
47 | - <br/> | ||
48 | - <Menu ref="menu2" theme="dark" accordion :open-names="openNames2" @on-open-change="handleOpenChange"> | ||
49 | - <template v-for="item in menuList"> | ||
50 | - <custem-menu-item v-if="item.children" :key="`menu-${item.name}`" :parent-item="item"></custem-menu-item> | ||
51 | - <menu-item v-else :name="`${item.name}`" :key="`menu-${item.name}`">{{ item.name }}</menu-item> | 2 | + <Menu active-name="1-2" :open-names="['1']"> |
3 | + <Submenu name="1"> | ||
4 | + <template slot="title"> | ||
5 | + <Icon type="ios-analytics"></Icon> | ||
6 | + Navigation One | ||
52 | </template> | 7 | </template> |
53 | - </Menu> | ||
54 | - <Button @click="addNewItem">添加菜单项</Button> | ||
55 | - <Button @click="changeActive">修改激活项</Button> | ||
56 | - <Button @click="setOpenNames">修改展开数组</Button> | ||
57 | - <Menu mode="horizontal" theme="light" :active-name="activeName" @on-open-change="hc"> | ||
58 | - <MenuItem name="1"> | ||
59 | - <Icon type="ios-paper"></Icon> | ||
60 | - 内容管理 | ||
61 | - </MenuItem> | ||
62 | - <MenuItem name="2"> | ||
63 | - <Icon type="ios-people"></Icon> | ||
64 | - 用户管理 | ||
65 | - </MenuItem> | 8 | + <MenuGroup title="Item 1"> |
9 | + <MenuItem name="1-1">我是菜单一</MenuItem> | ||
10 | + <MenuItem name="1-2">我是菜单二</MenuItem> | ||
11 | + </MenuGroup> | ||
12 | + <MenuGroup title="Item 2"> | ||
13 | + <MenuItem name="1-3">我是菜单三</MenuItem> | ||
14 | + <MenuItem name="1-4">我是菜单四</MenuItem> | ||
15 | + </MenuGroup> | ||
16 | + </Submenu> | ||
17 | + <Submenu name="2"> | ||
18 | + <template slot="title"> | ||
19 | + <Icon type="ios-filing"></Icon> | ||
20 | + Navigation Two | ||
21 | + </template> | ||
22 | + <MenuItem name="2-1">我是菜单五</MenuItem> | ||
23 | + <MenuItem name="2-2">我是菜单六</MenuItem> | ||
66 | <Submenu name="3"> | 24 | <Submenu name="3"> |
67 | - <template slot="title"> | ||
68 | - <Icon type="stats-bars"></Icon> | ||
69 | - 统计分析 | ||
70 | - </template> | ||
71 | - <MenuGroup title="使用"> | ||
72 | - <MenuItem name="3-1">新增和启动</MenuItem> | ||
73 | - <MenuItem name="3-2">活跃分析</MenuItem> | ||
74 | - <MenuItem name="3-3">时段分析</MenuItem> | ||
75 | - </MenuGroup> | ||
76 | - <MenuGroup title="留存"> | ||
77 | - <MenuItem name="3-4">用户留存</MenuItem> | ||
78 | - <MenuItem name="3-5">流失用户</MenuItem> | ||
79 | - </MenuGroup> | ||
80 | - </Submenu> | ||
81 | - <Submenu name="4"> | ||
82 | - <template slot="title"> | ||
83 | - <Icon type="stats-bars"></Icon> | ||
84 | - 统计分析2 | ||
85 | - </template> | ||
86 | - <MenuGroup title="使用2"> | ||
87 | - <MenuItem name="4-1">新增和启动2</MenuItem> | ||
88 | - <MenuItem name="4-2">活跃分析2</MenuItem> | ||
89 | - <MenuItem name="4-3">时段分析2</MenuItem> | ||
90 | - </MenuGroup> | ||
91 | - <MenuGroup title="留存2"> | ||
92 | - <MenuItem name="4-4">用户留存2</MenuItem> | ||
93 | - <MenuItem name="4-5">流失用户2</MenuItem> | ||
94 | - </MenuGroup> | 25 | + <template slot="title">Submenu</template> |
26 | + <MenuItem name="3-1">我是菜单七</MenuItem> | ||
27 | + <MenuItem name="3-2">我是菜单八</MenuItem> | ||
95 | </Submenu> | 28 | </Submenu> |
96 | - <MenuItem name="5"> | ||
97 | - <Icon type="settings"></Icon> | ||
98 | - 综合设置 | ||
99 | - </MenuItem> | ||
100 | - </Menu> | ||
101 | - </div> | 29 | + </Submenu> |
30 | + <Submenu name="4"> | ||
31 | + <template slot="title"> | ||
32 | + <Icon type="ios-gear"></Icon> | ||
33 | + Navigation Three | ||
34 | + </template> | ||
35 | + <MenuItem name="4-1">Option 9</MenuItem> | ||
36 | + <MenuItem name="4-2">Option 10</MenuItem> | ||
37 | + <MenuItem name="4-3">Option 11</MenuItem> | ||
38 | + <MenuItem name="4-4">Option 12</MenuItem> | ||
39 | + </Submenu> | ||
40 | + </Menu> | ||
102 | </template> | 41 | </template> |
103 | <script> | 42 | <script> |
104 | -import custemMenuItem from './custem-menu-item.vue' | ||
105 | export default { | 43 | export default { |
106 | - components: { | ||
107 | - custemMenuItem | ||
108 | - }, | ||
109 | - data () { | ||
110 | - return { | ||
111 | - openNames: ['1'], | ||
112 | - openNames2: [], | ||
113 | - menuList: [ | ||
114 | - { | ||
115 | - name: '111', | ||
116 | - children: [ | ||
117 | - { | ||
118 | - name: '111-111' | ||
119 | - }, | ||
120 | - { | ||
121 | - name: '111-222' | ||
122 | - } | ||
123 | - ] | ||
124 | - }, | ||
125 | - { | ||
126 | - name: '222', | ||
127 | - children: [ | ||
128 | - { | ||
129 | - name: '222-111' | ||
130 | - }, | ||
131 | - { | ||
132 | - name: '222-222', | ||
133 | - children: [ | ||
134 | - { | ||
135 | - name: '222-222-111' | ||
136 | - }, | ||
137 | - { | ||
138 | - name: '222-222-222', | ||
139 | - children: [ | ||
140 | - { | ||
141 | - name: '222-222-222-111' | ||
142 | - }, | ||
143 | - { | ||
144 | - name: '222-222-222-222' | ||
145 | - } | ||
146 | - ] | ||
147 | - } | ||
148 | - ] | ||
149 | - }, | ||
150 | - { | ||
151 | - name: '222-333', | ||
152 | - children: [ | ||
153 | - { | ||
154 | - name: '222-333-111', | ||
155 | - children: [ | ||
156 | - { | ||
157 | - name: '222-333-111-111' | ||
158 | - }, | ||
159 | - { | ||
160 | - name: '222-333-111-222' | ||
161 | - } | ||
162 | - ] | ||
163 | - }, | ||
164 | - { | ||
165 | - name: '222-333-222', | ||
166 | - children: [ | ||
167 | - { | ||
168 | - name: '222-333-222-111' | ||
169 | - }, | ||
170 | - { | ||
171 | - name: '222-333-222-222' | ||
172 | - } | ||
173 | - ] | ||
174 | - } | ||
175 | - ] | ||
176 | - } | ||
177 | - ] | ||
178 | - } | ||
179 | - ], | ||
180 | - activeName: '1' | ||
181 | - }; | ||
182 | - }, | ||
183 | - methods: { | ||
184 | - handleOpenChange (name) { | ||
185 | - console.log(name) | ||
186 | - }, | ||
187 | - setOpenNames () { | ||
188 | - this.openNames = ['2', '3']; | ||
189 | - this.openNames2 = ['222', '222-222', '222-222-222', '222-222-222-111'] | ||
190 | - this.$nextTick(() => { | ||
191 | - this.$refs.menu.updateOpened(); | ||
192 | - this.$refs.menu2.updateOpened(); | ||
193 | - }) | ||
194 | - }, | ||
195 | - addNewItem () { | ||
196 | - this.menuList[1].children[1].children.push({ | ||
197 | - name: '222-222-333', | ||
198 | - children: [ | ||
199 | - { | ||
200 | - name: '222-222-333-111' | ||
201 | - } | ||
202 | - ] | ||
203 | - }) | ||
204 | - }, | ||
205 | - changeActive () { | ||
206 | - this.activeName = String(Number(this.activeName) + 1) | ||
207 | - }, | ||
208 | - hc (data) { | ||
209 | - console.log(data); | ||
210 | - } | ||
211 | - } | 44 | + |
212 | } | 45 | } |
213 | </script> | 46 | </script> |
src/styles/components/menu.less
@@ -154,7 +154,8 @@ | @@ -154,7 +154,8 @@ | ||
154 | transition: all @transition-time @ease-in-out; | 154 | transition: all @transition-time @ease-in-out; |
155 | 155 | ||
156 | &:hover{ | 156 | &:hover{ |
157 | - background: @background-color-select-hover; | 157 | + //background: @background-color-select-hover; |
158 | + color: @primary-color; | ||
158 | } | 159 | } |
159 | } | 160 | } |
160 | 161 | ||
@@ -193,11 +194,22 @@ | @@ -193,11 +194,22 @@ | ||
193 | } | 194 | } |
194 | 195 | ||
195 | &-light&-vertical &-item{ | 196 | &-light&-vertical &-item{ |
196 | - border-right: 2px solid transparent; | 197 | + //border-right: 2px solid transparent; |
197 | &-active:not(.@{menu-prefix-cls}-submenu){ | 198 | &-active:not(.@{menu-prefix-cls}-submenu){ |
198 | color: @primary-color; | 199 | color: @primary-color; |
199 | - border-right: 2px solid @primary-color; | 200 | + background: ~`colorPalette("@{primary-color}", 1)`; |
201 | + //border-right: 2px solid @primary-color; | ||
200 | z-index: 2; | 202 | z-index: 2; |
203 | + &:after{ | ||
204 | + content: ''; | ||
205 | + display: block; | ||
206 | + width: 2px; | ||
207 | + position: absolute; | ||
208 | + top: 0; | ||
209 | + bottom: 0; | ||
210 | + right: 0; | ||
211 | + background: @primary-color; | ||
212 | + } | ||
201 | } | 213 | } |
202 | } | 214 | } |
203 | 215 | ||
@@ -214,7 +226,7 @@ | @@ -214,7 +226,7 @@ | ||
214 | } | 226 | } |
215 | &-active:not(.@{menu-prefix-cls}-submenu){ | 227 | &-active:not(.@{menu-prefix-cls}-submenu){ |
216 | color: @primary-color; | 228 | color: @primary-color; |
217 | - border-right: 2px solid @primary-color; | 229 | + //border-right: 2px solid @primary-color; |
218 | } | 230 | } |
219 | } | 231 | } |
220 | &-dark&-vertical &-submenu &-item{ | 232 | &-dark&-vertical &-submenu &-item{ |