From 4fa158eb3239b44faf47bae275e47a30ea37966b Mon Sep 17 00:00:00 2001 From: baiyaaaaa Date: Mon, 19 Dec 2016 23:45:40 +0800 Subject: [PATCH] add suport for mutil level submenu --- examples/docs/en-US/menu.md | 18 ++++++++---------- examples/docs/zh-CN/menu.md | 18 ++++++++---------- packages/menu/src/menu-item-group.vue | 25 ++++++++++--------------- packages/menu/src/menu-item.vue | 22 +++++++++++----------- packages/menu/src/menu-mixin.js | 13 +++++++++++++ packages/menu/src/submenu.vue | 11 +++++------ packages/theme-default/src/menu.css | 2 +- 7 files changed, 56 insertions(+), 53 deletions(-) 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 one + Navigator Two Navigator Three @@ -94,6 +98,10 @@ Vertical NavMenu with sub-menus. item three + + + 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 + + + 选项1 + 导航二 导航三 @@ -125,6 +129,10 @@ 选项3 + + + 选项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(); } };