Skip to content

Commit c619b8d

Browse files
committed
remove inline value warnings for checkbox/radio/select also (close #5112)
1 parent 2e1e809 commit c619b8d

File tree

4 files changed

+0
-71
lines changed

4 files changed

+0
-71
lines changed

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

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,6 @@ function genCheckboxModel (
7070
value: string,
7171
modifiers: ?ASTModifiers
7272
) {
73-
if (process.env.NODE_ENV !== 'production' &&
74-
el.attrsMap.checked != null) {
75-
warn(
76-
`<${el.tag} v-model="${value}" checked>:\n` +
77-
`inline checked attributes will be ignored when using v-model. ` +
78-
'Declare initial values in the component\'s data option instead.'
79-
)
80-
}
8173
const number = modifiers && modifiers.number
8274
const valueBinding = getBindingAttr(el, 'value') || 'null'
8375
const trueValueBinding = getBindingAttr(el, 'true-value') || 'true'
@@ -109,14 +101,6 @@ function genRadioModel (
109101
value: string,
110102
modifiers: ?ASTModifiers
111103
) {
112-
if (process.env.NODE_ENV !== 'production' &&
113-
el.attrsMap.checked != null) {
114-
warn(
115-
`<${el.tag} v-model="${value}" checked>:\n` +
116-
`inline checked attributes will be ignored when using v-model. ` +
117-
'Declare initial values in the component\'s data option instead.'
118-
)
119-
}
120104
const number = modifiers && modifiers.number
121105
let valueBinding = getBindingAttr(el, 'value') || 'null'
122106
valueBinding = number ? `_n(${valueBinding})` : valueBinding
@@ -129,10 +113,6 @@ function genSelect (
129113
value: string,
130114
modifiers: ?ASTModifiers
131115
) {
132-
if (process.env.NODE_ENV !== 'production') {
133-
el.children.some(checkOptionWarning)
134-
}
135-
136116
const number = modifiers && modifiers.number
137117
const selectedVal = `Array.prototype.filter` +
138118
`.call($event.target.options,function(o){return o.selected})` +
@@ -145,20 +125,6 @@ function genSelect (
145125
addHandler(el, 'change', code, null, true)
146126
}
147127

148-
function checkOptionWarning (option: any): boolean {
149-
if (option.type === 1 &&
150-
option.tag === 'option' &&
151-
option.attrsMap.selected != null) {
152-
warn(
153-
`<select v-model="${option.parent.attrsMap['v-model']}">:\n` +
154-
'inline selected attributes on <option> will be ignored when using v-model. ' +
155-
'Declare initial values in the component\'s data option instead.'
156-
)
157-
return true
158-
}
159-
return false
160-
}
161-
162128
function genDefaultModel (
163129
el: ASTElement,
164130
value: string,

test/unit/features/directives/model-checkbox.spec.js

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -256,15 +256,4 @@ describe('Directive v-model checkbox', () => {
256256
expect(vm.$el.checked).toBe(true)
257257
}).then(done)
258258
})
259-
260-
it('warn inline checked', () => {
261-
const vm = new Vue({
262-
template: `<input type="checkbox" v-model="test" checked>`,
263-
data: {
264-
test: false
265-
}
266-
}).$mount()
267-
expect(vm.$el.checked).toBe(false)
268-
expect('inline checked attributes will be ignored when using v-model').toHaveBeenWarned()
269-
})
270259
})

test/unit/features/directives/model-radio.spec.js

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -251,15 +251,4 @@ describe('Directive v-model radio', () => {
251251
expect(vm.$el.checked).toBe(false)
252252
}).then(done)
253253
})
254-
255-
it('warn inline checked', () => {
256-
const vm = new Vue({
257-
template: `<input v-model="test" type="radio" value="1" checked>`,
258-
data: {
259-
test: '2'
260-
}
261-
}).$mount()
262-
expect(vm.$el.checked).toBe(false)
263-
expect('inline checked attributes will be ignored when using v-model').toHaveBeenWarned()
264-
})
265254
})

test/unit/features/directives/model-select.spec.js

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -430,21 +430,6 @@ describe('Directive v-model select', () => {
430430
}).then(done)
431431
})
432432

433-
it('should warn inline selected', () => {
434-
const vm = new Vue({
435-
data: {
436-
test: null
437-
},
438-
template:
439-
'<select v-model="test">' +
440-
'<option selected>a</option>' +
441-
'</select>'
442-
}).$mount()
443-
expect(vm.$el.selectedIndex).toBe(-1)
444-
expect('inline selected attributes on <option> will be ignored when using v-model')
445-
.toHaveBeenWarned()
446-
})
447-
448433
it('should warn multiple with non-Array value', done => {
449434
new Vue({
450435
data: {

0 commit comments

Comments
 (0)