diff --git a/packages/cascader/src/menu.vue b/packages/cascader/src/menu.vue
index ec4e763e4..e00196a4c 100644
--- a/packages/cascader/src/menu.vue
+++ b/packages/cascader/src/menu.vue
@@ -74,7 +74,11 @@
         if (item.__IS__FLAT__OPTIONS) {
           this.activeValue = item.value;
         } else {
-          this.activeValue.splice(menuIndex, this.activeValue.length - 1, item.value);
+          if (menuIndex) {
+            this.activeValue.splice(menuIndex, this.activeValue.length - 1, item.value);
+          } else {
+            this.activeValue = [item.value];
+          }
         }
         this.$emit('pick', this.activeValue);
       },
@@ -168,4 +172,4 @@
       );
     }
   };
-</script>
\ No newline at end of file
+</script>