1 | export 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 | };
|