Просмотр исходного кода

Cascader: prevent value changing when menu is closing (#12507)

huangjinqiang 7 лет назад
Родитель
Сommit
8a32c3414f
1 измененных файлов с 8 добавлено и 6 удалено
  1. 8 6
      packages/cascader/src/menu.vue

+ 8 - 6
packages/cascader/src/menu.vue

@@ -230,12 +230,14 @@
                 hover: 'mouseenter'
               }[expandTrigger];
               const triggerHandler = () => {
-                this.activeItem(item, menuIndex);
-                this.$nextTick(() => {
-                  // adjust self and next level
-                  this.scrollMenu(this.$refs.menus[menuIndex]);
-                  this.scrollMenu(this.$refs.menus[menuIndex + 1]);
-                });
+                if (this.visible) {
+                  this.activeItem(item, menuIndex);
+                  this.$nextTick(() => {
+                    // adjust self and next level
+                    this.scrollMenu(this.$refs.menus[menuIndex]);
+                    this.scrollMenu(this.$refs.menus[menuIndex + 1]);
+                  });
+                }
               };
               events.on[triggerEvent] = triggerHandler;
               if (triggerEvent === 'mouseenter' && this.changeOnSelect) {