]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(v-model): avoid resetting value of in-focus & lazy input
authorEvan You <yyx990803@gmail.com>
Fri, 23 Jul 2021 19:44:56 +0000 (15:44 -0400)
committerEvan You <yyx990803@gmail.com>
Fri, 23 Jul 2021 19:44:56 +0000 (15:44 -0400)
fix #4182

packages/runtime-dom/src/directives/vModel.ts

index d489f25a0ca037928e607ab69f50999eb751c5c6..11fd5376055f0531496c1117f05fb7848db3c6a7 100644 (file)
@@ -80,11 +80,14 @@ export const vModelText: ModelDirective<
   mounted(el, { value }) {
     el.value = value == null ? '' : value
   },
-  beforeUpdate(el, { value, modifiers: { trim, number } }, vnode) {
+  beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
     el._assign = getModelAssigner(vnode)
     // avoid clearing unresolved text. #2302
     if ((el as any).composing) return
     if (document.activeElement === el) {
+      if (lazy) {
+        return
+      }
       if (trim && el.value.trim() === value) {
         return
       }