From 82a368513829010782cf314bfbf3eb28c323a31a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E5=A5=95?=
 <Leopoldthecoder@users.noreply.github.com>
Date: Fri, 24 Feb 2017 17:37:47 +0800
Subject: [PATCH] Cascader: fix z-index not increasing issue (#3035)

---
 packages/cascader/src/main.vue | 1 +
 packages/cascader/src/menu.vue | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/packages/cascader/src/main.vue b/packages/cascader/src/main.vue
index 0f5937bc5..ec5b0aa33 100644
--- a/packages/cascader/src/main.vue
+++ b/packages/cascader/src/main.vue
@@ -211,6 +211,7 @@ export default {
       this.popperElm = this.menu.$el;
       this.menu.$on('pick', this.handlePick);
       this.menu.$on('activeItemChange', this.handleActiveItemChange);
+      this.menu.$on('menuLeave', this.doDestroy);
     },
     showMenu() {
       if (!this.menu) {
diff --git a/packages/cascader/src/menu.vue b/packages/cascader/src/menu.vue
index b149bd8a9..8bfc87672 100644
--- a/packages/cascader/src/menu.vue
+++ b/packages/cascader/src/menu.vue
@@ -78,6 +78,9 @@
         }
         this.$emit('pick', this.activeValue);
       },
+      handleMenuLeave() {
+        this.$emit('menuLeave');
+      },
       activeItem(item, menuIndex) {
         const len = this.activeOptions.length;
         this.activeValue.splice(menuIndex, len, item.value);
@@ -151,7 +154,7 @@
         );
       });
       return (
-        <transition name="el-zoom-in-top">
+        <transition name="el-zoom-in-top" on-after-leave={this.handleMenuLeave}>
           <div
             v-show={visible}
             class={[