В соответствии с вашим вопросом, вам нужно раскрасить определенные даты и выделить выбранный цвет даты для этих конкретных дат
По умолчанию vuetify дает: event-color = "primary": events= "любая функция", чтобы добавить дополнительный стиль ниже даты, который не имеет отношения к цвету даты
Если вы используете color = "green-text", он меняет цвет всех дат иВы не можете управлять определенными датами
Тем не менее, вы можете добавить свою собственную логику, чтобы установить цвет для конкретной даты , исходя из ваших потребностей. Но для этого требуется некоторая дополнительная логика
Приведенный ниже код учитывает: доступные даты среди всех дат и применяет к этим датам программно
Найдитерабочий код здесь: https://codepen.io/chansv/pen/LYYyNYd?editors=1010
<div id="app">
<v-app id="inspire">
<v-row justify="center">
<v-date-picker v-model="picker" @change="dateClicked"></v-date-picker>
</v-row>
</v-app>
</div>
.date-color {
color: #00B300;
font-weight: 900;
}
.v-btn--active .date-color {
color: #fff;
}
new Vue({
el: '#app',
vuetify: new Vuetify(),
data () {
return {
picker: new Date().toISOString().substr(0, 10),
availableDates: ["2019-10-02", "2019-10-8", "2019-10-11"],
}
},
methods: {
dateClicked(val) {
var allDates = document.querySelectorAll(".v-date-picker-table .v-btn .v-btn__content");
var dates = this.availableDates.map(x => parseInt(x.split('-')[2]));
allDates.forEach((x, i) => {
if (dates.includes(parseInt(val.split('-')[2])) && parseInt(val.split('-')[2]) == x.innerHTML) {
x.parentNode.style = "background-color: #00b300 !important";
} else {
x.parentNode.style = '';
}
});
},
setColor() {
var allDates = document.querySelectorAll(".v-date-picker-table .v-btn .v-btn__content");
var dates = this.availableDates.map(x => parseInt(x.split('-')[2]));
console.log(dates);
allDates.forEach((x, i) => {
if (dates.includes(parseInt(x.innerHTML))) {
allDates[i].classList.add('date-color');
}
})
}
},
mounted() {
this.setColor();
}
})