]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(runtime-dom/v-model): only set selectedIndex when the value changes (#3845)
authorHcySunYang <HcySunYang@outlook.com>
Sun, 30 May 2021 00:42:13 +0000 (08:42 +0800)
committerGitHub <noreply@github.com>
Sun, 30 May 2021 00:42:13 +0000 (20:42 -0400)
packages/runtime-dom/src/directives/vModel.ts

index a90c4466a174958430538af215aca24ba248315c..f63f909b3c638694fb091e8d329f4331bdc86035 100644 (file)
@@ -224,12 +224,12 @@ function setSelected(el: HTMLSelectElement, value: any) {
       }
     } else {
       if (looseEqual(getValue(option), value)) {
-        el.selectedIndex = i
+        if (el.selectedIndex !== i) el.selectedIndex = i
         return
       }
     }
   }
-  if (!isMultiple) {
+  if (!isMultiple && el.selectedIndex !== -1) {
     el.selectedIndex = -1
   }
 }