File tree Expand file tree Collapse file tree 2 files changed +31
-1
lines changed
test/unit/specs/directives Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -11,11 +11,15 @@ module.exports = {
1111 if ( optionsParam ) {
1212 initOptions . call ( this , optionsParam )
1313 }
14+ this . number = this . _checkParam ( 'number' ) != null
1415 this . multiple = el . hasAttribute ( 'multiple' )
1516 this . listener = function ( ) {
1617 var value = self . multiple
1718 ? getMultiValue ( el )
1819 : el . value
20+ value = self . number
21+ ? _ . toNumber ( value )
22+ : value
1923 self . set ( value , true )
2024 }
2125 _ . on ( el , 'change' , this . listener )
@@ -124,7 +128,9 @@ function checkInitialValue () {
124128 }
125129 }
126130 if ( initValue ) {
127- this . _initValue = initValue
131+ this . _initValue = this . number
132+ ? _ . toNumber ( initValue )
133+ : initValue
128134 }
129135}
130136
Original file line number Diff line number Diff line change @@ -273,6 +273,30 @@ if (_.inBrowser) {
273273 expect ( opts [ 2 ] . selected ) . toBe ( false )
274274 } )
275275
276+ it ( 'select + number' , function ( ) {
277+ var vm = new Vue ( {
278+ el : el ,
279+ data : {
280+ test : '1'
281+ } ,
282+ template : '<select v-model="test" number><option value="1">1</option></select>'
283+ } )
284+ expect ( vm . test ) . toBe ( '1' )
285+ trigger ( vm . $el . firstChild , 'change' )
286+ expect ( vm . test ) . toBe ( 1 )
287+ } )
288+
289+ it ( 'select + number initial value' , function ( ) {
290+ var vm = new Vue ( {
291+ el : el ,
292+ data : {
293+ test : '1'
294+ } ,
295+ template : '<select v-model="test" number><option value="1" selected>1</option></select>'
296+ } )
297+ expect ( vm . test ) . toBe ( 1 )
298+ } )
299+
276300 it ( 'text' , function ( done ) {
277301 var vm = new Vue ( {
278302 el : el ,
You can’t perform that action at this time.
0 commit comments