From 164f7bcb6ba76d73912ce19738a693e4e1c99c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=81=8F?= Date: Tue, 28 Aug 2018 10:42:57 +0800 Subject: [PATCH] update Menu --- examples/routers/menu.vue | 67 +++++++++++++++---------------- src/components/menu/menu-item.vue | 4 +- src/components/menu/menu.vue | 3 ++ 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/examples/routers/menu.vue b/examples/routers/menu.vue index 1f041501..95678578 100644 --- a/examples/routers/menu.vue +++ b/examples/routers/menu.vue @@ -1,46 +1,45 @@ diff --git a/src/components/menu/menu-item.vue b/src/components/menu/menu-item.vue index 4be3d704..961be0a7 100644 --- a/src/components/menu/menu-item.vue +++ b/src/components/menu/menu-item.vue @@ -57,9 +57,11 @@ handleClickItem (event, new_window = false) { if (this.disabled) return; - if (new_window) { + if (new_window || this.target === '_blank') { // 如果是 new_window,直接新开窗口就行,无需发送状态 this.handleCheckClick(event, new_window); + let parentMenu = findComponentUpward(this, 'Menu'); + if (parentMenu) parentMenu.handleEmitSelectEvent(this.name); } else { let parent = findComponentUpward(this, 'Submenu'); diff --git a/src/components/menu/menu.vue b/src/components/menu/menu.vue index 8553a81c..66586887 100644 --- a/src/components/menu/menu.vue +++ b/src/components/menu/menu.vue @@ -127,6 +127,9 @@ else item.opened = false; }); } + }, + handleEmitSelectEvent (name) { + this.$emit('on-select', name); } }, mounted () {