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

fix(v-model): avoid resetting value of in-focus & lazy input

fix #4182
Evan You 4 лет назад
Родитель
Сommit
ac74e1dd33
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      packages/runtime-dom/src/directives/vModel.ts

+ 4 - 1
packages/runtime-dom/src/directives/vModel.ts

@@ -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
       }