diff --git a/examples/docs/en-US/menu.md b/examples/docs/en-US/menu.md
index 8694dba26..5bd122a35 100644
--- a/examples/docs/en-US/menu.md
+++ b/examples/docs/en-US/menu.md
@@ -77,6 +77,10 @@ Vertical NavMenu with sub-menus.
item three
+
+ item four
+ item one
+
Navigator Two
Navigator Three
@@ -94,6 +98,10 @@ Vertical NavMenu with sub-menus.
item three
+
+ item four
+ item one
+
Navigator Two
Navigator Three
@@ -109,16 +117,6 @@ Vertical NavMenu with sub-menus.
Navigator Three
Navigator Four
-
diff --git a/examples/docs/zh-CN/menu.md b/examples/docs/zh-CN/menu.md
index e9ee70f9c..1506b17c1 100644
--- a/examples/docs/zh-CN/menu.md
+++ b/examples/docs/zh-CN/menu.md
@@ -108,6 +108,10 @@
选项3
+
+ 选项4
+ 选项1
+
导航二
导航三
@@ -125,6 +129,10 @@
选项3
+
+ 选项4
+ 选项1
+
导航二
导航三
@@ -140,16 +148,6 @@
导航三
导航四
-
diff --git a/packages/menu/src/menu-item-group.vue b/packages/menu/src/menu-item-group.vue
index 200edcae1..80d8903ac 100644
--- a/packages/menu/src/menu-item-group.vue
+++ b/packages/menu/src/menu-item-group.vue
@@ -14,31 +14,26 @@
paddingLeft: 20
};
},
- methods: {
- initPadding() {
- var parent = this.$parent;
- var level = 0;
- var component = parent.$options.componentName;
-
- while (component !== 'ElMenu') {
- if (component === 'ElSubmenu') {
- level++;
+ computed: {
+ levelPadding() {
+ let padding = 10;
+ let parent = this.$parent;
+ while (parent && parent.$options.componentName !== 'ElMenu') {
+ if (parent.$options.componentName === 'ElSubmenu') {
+ padding += 20;
}
parent = parent.$parent;
- component = parent.$options.componentName;
}
- this.paddingLeft += level * 10;
+ padding === 10 && (padding = 20);
+ return padding;
}
- },
- mounted() {
- this.initPadding();
}
};