Просмотр исходного кода

fix <option value="" selected> is undefined

takuya sato 11 лет назад
Родитель
Сommit
0f4bfb08ae
2 измененных файлов с 11 добавлено и 1 удалено
  1. 1 1
      src/directives/model/select.js
  2. 10 0
      test/unit/specs/directives/model_spec.js

+ 1 - 1
src/directives/model/select.js

@@ -134,7 +134,7 @@ function checkInitialValue () {
       }
     }
   }
-  if (initValue) {
+  if (typeof initValue !== 'undefined') {
     this._initValue = this.number
       ? _.toNumber(initValue)
       : initValue

+ 10 - 0
test/unit/specs/directives/model_spec.js

@@ -156,6 +156,16 @@ if (_.inBrowser) {
       expect(el.firstChild.childNodes[1].selected).toBe(true)
     })
 
+    it('select + empty default value', function () {
+      var vm = new Vue({
+        el: el,
+        template: '<select v-model="test"><option value="" selected>null</option><<option value="1">1</option></select>'
+      })
+      expect(vm.test).toBe('')
+      trigger(vm.$el.firstChild, 'change')
+      expect(vm.test).toBe('')
+    })
+
     it('select + multiple', function (done) {
       var vm = new Vue({
         el: el,