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 () {