Как я могу дать конкретный параметр для вызова 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>

Другие вопросы по тегам