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> | ... | ... |