Commit 3e3fba0ec2df99142443c6f6590a41ca5cf2b95e
1 parent
5edd66a8
add style for menu-group
Showing
2 changed files
with
25 additions
and
1 deletions
Show diff stats
examples/routers/menu.vue
... | ... | @@ -30,6 +30,16 @@ |
30 | 30 | </template> |
31 | 31 | <Menu-item name="3-3-3-1">四级1</Menu-item> |
32 | 32 | <Menu-item name="3-3-3-2">四级2</Menu-item> |
33 | + <MenuGroup title="Menu-Group"> | |
34 | + <MenuItem name="3-3-3-3-1"> | |
35 | + <Icon type="document-text"></Icon> | |
36 | + Group-item1 | |
37 | + </MenuItem> | |
38 | + <MenuItem name="3-3-3-3-2"> | |
39 | + <Icon type="chatbubbles"></Icon> | |
40 | + Group-item2 | |
41 | + </MenuItem> | |
42 | + </MenuGroup> | |
33 | 43 | </Submenu> |
34 | 44 | </Submenu> |
35 | 45 | </Submenu> | ... | ... |
src/components/menu/menu-group.vue
1 | 1 | <template> |
2 | 2 | <li :class="[prefixCls + '-item-group']"> |
3 | - <div :class="[prefixCls + '-item-group-title']">{{ title }}</div> | |
3 | + <div :class="[prefixCls + '-item-group-title']" :style="groupStyle">{{ title }}</div> | |
4 | 4 | <ul><slot></slot></ul> |
5 | 5 | </li> |
6 | 6 | </template> |
7 | 7 | <script> |
8 | + import { findComponentUpward, findComponentsUpward } from '../../utils/assist'; | |
8 | 9 | const prefixCls = 'ivu-menu'; |
9 | 10 | |
10 | 11 | export default { |
... | ... | @@ -19,6 +20,19 @@ |
19 | 20 | return { |
20 | 21 | prefixCls: prefixCls |
21 | 22 | }; |
23 | + }, | |
24 | + computed: { | |
25 | + parentSubmenuNum () { | |
26 | + return findComponentsUpward(this, 'Submenu').length; | |
27 | + }, | |
28 | + hasParentSubmenu () { | |
29 | + return findComponentUpward(this, 'Submenu'); | |
30 | + }, | |
31 | + groupStyle () { | |
32 | + return this.hasParentSubmenu ? { | |
33 | + paddingLeft: 43 + (this.parentSubmenuNum - 1) * 28 + 'px' | |
34 | + } : {}; | |
35 | + } | |
22 | 36 | } |
23 | 37 | }; |
24 | 38 | </script> | ... | ... |