Вы перебираете только массив расписаний в своем шаблоне и, следовательно, отображаете только две ячейки в теле таблицы.
Я обновил шаблон и код сценария, чтобы получить ожидаемый результат.
код шаблона:
<div id="app">
<v-app>
<v-simple-table>
<template v-slot:default>
<thead>
<tr>
<th class="text-left">Mon </th>
<th class="text-left">Tue</th>
<th class="text-left">Wed </th>
<th class="text-left">Thu</th>
<th class="text-left">Fri </th>
<th class="text-left">Sat </th>
<th class="text-left">Sun</th>
</tr>
</thead>
<tbody>
<tr>
<template v-for="dayEntry in days">
<td v-if="getScheduleByDay(dayEntry)" class="text-left">{{getScheduleByDay(dayEntry).from_time}}-{{getScheduleByDay(dayEntry).to_time}}</td>
<td v-else class="text-left">-</td>
</template>
</tr>
</tbody>
</template>
</v-simple-table>
</v-app>
</div>
код сценария:
new Vue({
el: '#app',
vuetify: new Vuetify(),
data: () => ({
schedules: [
{ day: 1, from_time: '15:00', to_time: '13:00' },
{ day: 6, from_time: '16:00', to_time: '16:30' },
],
days: [1,2,3,4,5,6,7]
}),
methods: {
getScheduleByDay(dayEntry) {
console.log(dayEntry)
const relevantDay = this.schedules.filter(entry => entry.day === dayEntry);
if(relevantDay.length > 0)
return relevantDay[0];
return null;
}
}
})
См. также обновленный код ручки: https://codepen.io/simonthiel2/pen/Rwwrzav