UNPKG

1.07 kBJavaScriptView Raw
1export default {
2 inject: ['rootMenu'],
3 computed: {
4 indexPath() {
5 const path = [this.index];
6 let parent = this.$parent;
7 while (parent.$options.componentName !== 'ElMenu') {
8 if (parent.index) {
9 path.unshift(parent.index);
10 }
11 parent = parent.$parent;
12 }
13 return path;
14 },
15 parentMenu() {
16 let parent = this.$parent;
17 while (
18 parent &&
19 ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1
20 ) {
21 parent = parent.$parent;
22 }
23 return parent;
24 },
25 paddingStyle() {
26 if (this.rootMenu.mode !== 'vertical') return {};
27
28 let padding = 20;
29 let parent = this.$parent;
30
31 if (this.rootMenu.collapse) {
32 padding = 20;
33 } else {
34 while (parent && parent.$options.componentName !== 'ElMenu') {
35 if (parent.$options.componentName === 'ElSubmenu') {
36 padding += 20;
37 }
38 parent = parent.$parent;
39 }
40 }
41 return {paddingLeft: padding + 'px'};
42 }
43 }
44};