Skip to content

Commit a152fe0

Browse files
committed
only gen checkbox/radio model on input tags (fix #3516)
1 parent e6c5f21 commit a152fe0

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

src/platforms/web/compiler/directives/model.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,16 @@ export default function model (
1313
warn = _warn
1414
const value = dir.value
1515
const modifiers = dir.modifiers
16-
if (el.tag === 'select') {
16+
const tag = el.tag
17+
const type = el.attrsMap.type
18+
if (tag === 'select') {
1719
return genSelect(el, value)
20+
} else if (tag === 'input' && type === 'checkbox') {
21+
genCheckboxModel(el, value)
22+
} else if (tag === 'input' && type === 'radio') {
23+
genRadioModel(el, value)
1824
} else {
19-
switch (el.attrsMap.type) {
20-
case 'checkbox':
21-
genCheckboxModel(el, value)
22-
break
23-
case 'radio':
24-
genRadioModel(el, value)
25-
break
26-
default:
27-
return genDefaultModel(el, value, modifiers)
28-
}
25+
return genDefaultModel(el, value, modifiers)
2926
}
3027
}
3128

test/unit/features/component/component-slot.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ describe('Component slot', () => {
483483
})
484484

485485
// #3518
486-
fit('events should not break when slot is toggled by v-if', done => {
486+
it('events should not break when slot is toggled by v-if', done => {
487487
const spy = jasmine.createSpy()
488488
const vm = new Vue({
489489
template: `<test><div class="click" @click="test">hi</div></test>`,

0 commit comments

Comments
 (0)