fix(v-model): respect checkbox true-value/false-value on initial render

fix #2694
This commit is contained in:
Evan You
2020-12-01 12:02:37 -05:00
parent 085bbd5fe0
commit 48f00c0f1b
2 changed files with 18 additions and 14 deletions

View File

@@ -99,8 +99,7 @@ export const vModelText: ModelDirective<
}
export const vModelCheckbox: ModelDirective<HTMLInputElement> = {
created(el, binding, vnode) {
setChecked(el, binding, vnode)
created(el, _, vnode) {
el._assign = getModelAssigner(vnode)
addEventListener(el, 'change', () => {
const modelValue = (el as any)._modelValue
@@ -130,6 +129,8 @@ export const vModelCheckbox: ModelDirective<HTMLInputElement> = {
}
})
},
// set initial checked on mount to wait for true-value/false-value
mounted: setChecked,
beforeUpdate(el, binding, vnode) {
el._assign = getModelAssigner(vnode)
setChecked(el, binding, vnode)