Open
Description
Vue version
@vue/compat@3.5.13
Link to minimal reproduction
https://codepen.io/markrian/pen/NPPKOqm
Steps to reproduce
- Use
@vue/compat
with theATTR_VALUE_FALSE
compat flag enabled. - Bind a
false
value to an input'svalue
attribute. - Note that the
value
attribute is removed from the input. - If it's a type=text input, the
value
property is correctly coerced to"false"
. - If it's a type=hidden input, the
value
property in incorrectly coerced to""
.
What is expected?
The ATTR_VALUE_FALSE
should not affect behaviour of inputs that's consistently across Vue 2.x and Vue 3.x.
What is actually happening?
The ATTR_VALUE_FALSE
is overzealous and also drops falsy value
attributes on inputs.
System Info
N/A
Any additional comments?
Note that both Vue 2.7.16 and Vue 3.5.13 behave the same way - the expected way. It's only the compat build with the ATTR_FALSE_VALUE
flag that isn't behaving as expected: