forked from zhurui/management
46 lines
975 B
Vue
46 lines
975 B
Vue
<template>
|
|
<li class="el-menu-item-group">
|
|
<div class="el-menu-item-group__title" :style="{paddingLeft: levelPadding + 'px'}">
|
|
<template v-if="!$slots.title">{{title}}</template>
|
|
<slot v-else name="title"></slot>
|
|
</div>
|
|
<ul>
|
|
<slot></slot>
|
|
</ul>
|
|
</li>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
name: 'ElMenuItemGroup',
|
|
|
|
componentName: 'ElMenuItemGroup',
|
|
|
|
inject: ['rootMenu'],
|
|
props: {
|
|
title: {
|
|
type: String
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
paddingLeft: 20
|
|
};
|
|
},
|
|
computed: {
|
|
levelPadding() {
|
|
let padding = 20;
|
|
let parent = this.$parent;
|
|
if (this.rootMenu.collapse) return 20;
|
|
while (parent && parent.$options.componentName !== 'ElMenu') {
|
|
if (parent.$options.componentName === 'ElSubmenu') {
|
|
padding += 20;
|
|
}
|
|
parent = parent.$parent;
|
|
}
|
|
return padding;
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|