@@ -56,7 +56,7 @@ describe('Directive v-model select', () => {
56
56
expect ( vm . $el . value ) . toBe ( 'c' )
57
57
expect ( vm . $el . childNodes [ 2 ] . selected ) . toBe ( true )
58
58
updateSelect ( vm . $el , 'a' )
59
- triggerEvent ( vm . $el , 'change ' )
59
+ triggerEvent ( vm . $el , 'input ' )
60
60
expect ( vm . test ) . toBe ( 'a' )
61
61
} ) . then ( done )
62
62
} )
@@ -82,11 +82,11 @@ describe('Directive v-model select', () => {
82
82
expect ( vm . $el . childNodes [ 2 ] . selected ) . toBe ( true )
83
83
84
84
updateSelect ( vm . $el , '1' )
85
- triggerEvent ( vm . $el , 'change ' )
85
+ triggerEvent ( vm . $el , 'input ' )
86
86
expect ( vm . test ) . toBe ( '1' )
87
87
88
88
updateSelect ( vm . $el , '2' )
89
- triggerEvent ( vm . $el , 'change ' )
89
+ triggerEvent ( vm . $el , 'input ' )
90
90
expect ( vm . test ) . toBe ( 2 )
91
91
} ) . then ( done )
92
92
} )
@@ -110,11 +110,11 @@ describe('Directive v-model select', () => {
110
110
expect ( vm . $el . childNodes [ 2 ] . selected ) . toBe ( true )
111
111
112
112
updateSelect ( vm . $el , '1' )
113
- triggerEvent ( vm . $el , 'change ' )
113
+ triggerEvent ( vm . $el , 'input ' )
114
114
expect ( vm . test ) . toBe ( '1' )
115
115
116
116
updateSelect ( vm . $el , { a : 2 } )
117
- triggerEvent ( vm . $el , 'change ' )
117
+ triggerEvent ( vm . $el , 'input ' )
118
118
expect ( vm . test ) . toEqual ( { a : 2 } )
119
119
} ) . then ( done )
120
120
} )
@@ -138,11 +138,11 @@ describe('Directive v-model select', () => {
138
138
expect ( vm . $el . childNodes [ 2 ] . selected ) . toBe ( true )
139
139
140
140
updateSelect ( vm . $el , '1' )
141
- triggerEvent ( vm . $el , 'change ' )
141
+ triggerEvent ( vm . $el , 'input ' )
142
142
expect ( vm . test ) . toBe ( '1' )
143
143
144
144
updateSelect ( vm . $el , [ { a : 2 } ] )
145
- triggerEvent ( vm . $el , 'change ' )
145
+ triggerEvent ( vm . $el , 'input ' )
146
146
expect ( vm . test ) . toEqual ( [ { a : 2 } ] )
147
147
} ) . then ( done )
148
148
} )
@@ -167,7 +167,7 @@ describe('Directive v-model select', () => {
167
167
expect ( vm . $el . value ) . toBe ( 'c' )
168
168
expect ( vm . $el . childNodes [ 2 ] . selected ) . toBe ( true )
169
169
updateSelect ( vm . $el , 'a' )
170
- triggerEvent ( vm . $el , 'change ' )
170
+ triggerEvent ( vm . $el , 'input ' )
171
171
expect ( vm . test ) . toBe ( 'a' )
172
172
// update v-for opts
173
173
vm . opts = [ 'd' , 'a' ]
@@ -196,7 +196,7 @@ describe('Directive v-model select', () => {
196
196
expect ( vm . $el . value ) . toBe ( '3' )
197
197
expect ( vm . $el . childNodes [ 2 ] . selected ) . toBe ( true )
198
198
updateSelect ( vm . $el , 1 )
199
- triggerEvent ( vm . $el , 'change ' )
199
+ triggerEvent ( vm . $el , 'input ' )
200
200
expect ( vm . test ) . toBe ( 1 )
201
201
// update v-for opts
202
202
vm . opts = [ 0 , 1 ]
@@ -256,7 +256,7 @@ describe('Directive v-model select', () => {
256
256
expect ( opts [ 2 ] . selected ) . toBe ( true )
257
257
opts [ 0 ] . selected = false
258
258
opts [ 1 ] . selected = true
259
- triggerEvent ( vm . $el , 'change ' )
259
+ triggerEvent ( vm . $el , 'input ' )
260
260
expect ( vm . test ) . toEqual ( [ 'b' , 'c' ] )
261
261
} ) . then ( done )
262
262
} )
@@ -283,14 +283,14 @@ describe('Directive v-model select', () => {
283
283
expect ( opts [ 2 ] . selected ) . toBe ( true )
284
284
opts [ 0 ] . selected = false
285
285
opts [ 1 ] . selected = true
286
- triggerEvent ( vm . $el , 'change ' )
286
+ triggerEvent ( vm . $el , 'input ' )
287
287
expect ( vm . test ) . toEqual ( [ 'b' , 'c' ] )
288
288
// update v-for opts
289
289
vm . opts = [ 'c' , 'd' ]
290
290
} ) . then ( ( ) => {
291
291
expect ( opts [ 0 ] . selected ) . toBe ( true )
292
292
expect ( opts [ 1 ] . selected ) . toBe ( false )
293
- expect ( vm . test ) . toEqual ( [ 'c' ] ) // should remove 'd ' which no longer has a matching option
293
+ expect ( vm . test ) . toEqual ( [ 'c' ] ) // should remove 'b ' which no longer has a matching option
294
294
} ) . then ( done )
295
295
} )
296
296
}
@@ -313,7 +313,7 @@ describe('Directive v-model select', () => {
313
313
} ) . $mount ( )
314
314
document . body . appendChild ( vm . $el )
315
315
vm . $el . options [ 1 ] . selected = true
316
- triggerEvent ( vm . $el , 'change ' )
316
+ triggerEvent ( vm . $el , 'input ' )
317
317
waitForUpdate ( ( ) => {
318
318
expect ( spy ) . toHaveBeenCalled ( )
319
319
expect ( vm . selections ) . toEqual ( [ '1' , '2' ] )
@@ -382,7 +382,7 @@ describe('Directive v-model select', () => {
382
382
var selects = vm . $el . getElementsByTagName ( 'select' )
383
383
var select0 = selects [ 0 ]
384
384
select0 . options [ 0 ] . selected = true
385
- triggerEvent ( select0 , 'change ' )
385
+ triggerEvent ( select0 , 'input ' )
386
386
waitForUpdate ( ( ) => {
387
387
expect ( spy ) . toHaveBeenCalled ( )
388
388
expect ( vm . selections ) . toEqual ( [ 'foo' , '' ] )
@@ -403,7 +403,7 @@ describe('Directive v-model select', () => {
403
403
} ) . $mount ( )
404
404
document . body . appendChild ( vm . $el )
405
405
updateSelect ( vm . $el , '1' )
406
- triggerEvent ( vm . $el , 'change ' )
406
+ triggerEvent ( vm . $el , 'input ' )
407
407
expect ( vm . test ) . toBe ( 1 )
408
408
} )
409
409
@@ -546,4 +546,31 @@ describe('Directive v-model select', () => {
546
546
expect ( spy ) . not . toHaveBeenCalled ( )
547
547
} ) . then ( done )
548
548
} )
549
+
550
+ // #6690
551
+ it ( 'should work on an element with an input binding' , done => {
552
+ const vm = new Vue ( {
553
+ data : {
554
+ test1 : '' ,
555
+ inputEvaluated : ''
556
+ } ,
557
+ template :
558
+ `<select v-model="test1" v-on:input="inputEvaluated = 'blarg'" v-bind:name="inputEvaluated">` +
559
+ '<option value="">test1 Please Select</option>' +
560
+ '<option value="alpha">Alpha</option>' +
561
+ '<option value="beta">Beta</option>' +
562
+ '</select>'
563
+ } ) . $mount ( )
564
+ document . body . appendChild ( vm . $el )
565
+
566
+ vm . $el . children [ 1 ] . selected = true
567
+
568
+ triggerEvent ( vm . $el , 'input' )
569
+
570
+ waitForUpdate ( ( ) => {
571
+ triggerEvent ( vm . $el , 'change' )
572
+ } ) . then ( ( ) => {
573
+ expect ( vm . $el . value ) . toBe ( 'alpha' )
574
+ } ) . then ( done )
575
+ } )
549
576
} )
0 commit comments