Как я могу дать конкретный параметр для вызова v-модели
Как я могу дать индекс дней моего массива в v-модели?
<select v-model="dayList" id="dayList">
<option v-for="(day, index) in days" :key="index">{{ selectDaysLabel(day) }}</option>
</select>
А также:
dayList(index) {
console.log(index) // should give you either 0, 1, 2...
}
Спасибо за помощь!
1 ответ
Решение
Вы можете связать значение <option>
с конкретным типом данных, как вам нужно, как v-bind:value="{ 'data': day, 'index':index }"
или просто вы можете v-bind:value="index"
,
new Vue({
el: "#app",
data: {
selectedDay: '',
days: ['A', 'B', 'C', 'D']
},
methods: {
getSelect(){
console.log(this.selectedDay ? this.selectedDay.index : 'No selection')
}
}
});
<script src="https://unpkg.com/vue@2.0.1/dist/vue.js"></script>
<div id="app">
<button v-on:click="getSelect()">Test</button>
<select v-model="selectedDay" >
<option v-for="(day, index) in days" v-bind:value="{ 'data': day, 'index':index }">{{day}}</option>
</select>
</div>