Commit 3e3fba0ec2df99142443c6f6590a41ca5cf2b95e

Authored by zhigang.li
1 parent 5edd66a8

add style for menu-group

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