const input = root.querySelector('input')!
const data = root._vnode.component.data
+ expect(input.value).toEqual('')
input.value = 'foo'
triggerEvent('input', input)
data.value = 'bar'
await nextTick()
expect(input.value).toEqual('bar')
+
+ data.value = undefined
+ await nextTick()
+ expect(input.value).toEqual('')
})
it('should work with multiple listeners', async () => {
HTMLInputElement | HTMLTextAreaElement
> = {
beforeMount(el, { value, modifiers: { lazy, trim, number } }, vnode) {
- el.value = value
+ el.value = value == null ? '' : value
el._assign = getModelAssigner(vnode)
const castToNumber = number || el.type === 'number'
addEventListener(el, lazy ? 'change' : 'input', e => {
return
}
}
- el.value = value
+ el.value = value == null ? '' : value
}
}