diff --git a/packages/runtime-dom/src/directives/vModel.ts b/packages/runtime-dom/src/directives/vModel.ts index a90c4466..f63f909b 100644 --- a/packages/runtime-dom/src/directives/vModel.ts +++ b/packages/runtime-dom/src/directives/vModel.ts @@ -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 } }