簡介html
今天寫pc端引入vue,遇到了一個問題,就是我循環出select內的數據之後,發現本來默認顯示第一條的select框變成了空白,要選擇後纔有顯示,結果查了好多文檔,講的都不是很清楚,後來看到一句提示,試了一下發現竟然還有這種隱藏屬性。因此,我決定本身寫下來,講清楚。vue
解決過程app
html代碼以下,經過v-model能夠獲取到選中的值,若是option中存在value屬性,優先獲取value值即coupon.id,若是不存在,則獲取option的文本內容,也就是下面代碼中coupon.name.ide
<select name="public-choice" v-model="couponSelected" @change="getCouponSelected"> <option :value="coupon.id" v-for="coupon in couponList" >{{coupon.name}}</option> </select>
首先說明,html這樣寫沒有任何問題,動態的select的正確使用方法就是這樣。ui
下面是js代碼:this
var vm = new Vue({ el: '#app', data:{ couponList:[ { id: 'A', name: '優惠券1' }, { id: '1', name: '優惠券2' }, { id: '2', name: '優惠券3' } ], couponSelected: '', }, created(){
//若是沒有這句代碼,select中初始化會是空白的,默認選中就沒法實現 this.couponSelected = this.couponList[0].id; }, methods:{
}
})
上面的js代碼是正確的,我下面說明一下隱藏屬性是什麼spa
隱藏屬性就是code
當咱們把v-model中的couponSelected,也就是data裏的couponSelected的值賦值爲循環的option中的value後,那這個option就會被默認選中orm
小結htm
這篇文章其實主要是說select默認選中的問題,select使用以及數據獲取只是順帶說明,vue關於表單元素的使用,如單選,複選能夠參考官方文檔,如今的官方文檔其實已經寫得很不錯了,放連接https://cn.vuejs.org/v2/guide/forms.html,感興趣的話能夠看一下,試一下。