fix(v-model): handle mutations of v-model bound array/sets

fix #4096
This commit is contained in:
Evan You
2021-07-15 12:14:19 -04:00
parent c23153d82e
commit 2937530bef
3 changed files with 15 additions and 6 deletions

View File

@@ -99,6 +99,8 @@ export const vModelText: ModelDirective<
}
export const vModelCheckbox: ModelDirective<HTMLInputElement> = {
// #4096 array checkboxes need to be deep traversed
deep: true,
created(el, _, vnode) {
el._assign = getModelAssigner(vnode)
addEventListener(el, 'change', () => {
@@ -171,6 +173,8 @@ export const vModelRadio: ModelDirective<HTMLInputElement> = {
}
export const vModelSelect: ModelDirective<HTMLSelectElement> = {
// <select multiple> value need to be deep traversed
deep: true,
created(el, { value, modifiers: { number } }, vnode) {
const isSetModel = isSet(value)
addEventListener(el, 'change', () => {