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

fix #5875
This commit is contained in:
Evan You 2022-05-12 18:39:17 +08:00
parent ccf92564d3
commit 8c51c6514f

View File

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