Sfoglia il codice sorgente

fix(v-model): exclude range from lazy guard logic

fix #5875
Evan You 4 anni fa
parent
commit
8c51c6514f
1 ha cambiato i file con 4 aggiunte e 2 eliminazioni
  1. 4 2
      packages/runtime-dom/src/directives/vModel.ts

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

@@ -18,7 +18,9 @@ import {
 type AssignerFn = (value: any) => void
 
 const getModelAssigner = (vnode: VNode): AssignerFn => {
-  const fn = vnode.props!['onUpdate:modelValue'] || (__COMPAT__ && vnode.props!['onModelCompat:input'])
+  const fn =
+    vnode.props!['onUpdate:modelValue'] ||
+    (__COMPAT__ && vnode.props!['onModelCompat:input'])
   return isArray(fn) ? value => invokeArrayFns(fn, value) : fn
 }
 
@@ -78,7 +80,7 @@ export const vModelText: ModelDirective<
     el._assign = getModelAssigner(vnode)
     // avoid clearing unresolved text. #2302
     if ((el as any).composing) return
-    if (document.activeElement === el) {
+    if (document.activeElement === el && el.type !== 'range') {
       if (lazy) {
         return
       }