Vuetify is a popular UI framework for Vue apps.
In this article, we’ll look at how to work with the Vuetify framework.
Month Pickers — Allowed Months
We can change the allowed months with the date picker.
For example, we can write:
<template>
<v-row justify="space-around">
<v-date-picker
v-model="date"
:allowed-dates="allowedMonths"
type="month"
class="mt-4"
min="2020-06"
max="2020-10"
></v-date-picker>
</v-row>
</template>
<script>
export default {
name: "HelloWorld",
data: () => ({
date: new Date().toISOString().substr(0, 10),
}),
methods: {
allowedMonths: (val) => parseInt(val.split("-")[1], 10) % 2 === 0,
},
};
</script>
We have the allowedMonths method to return the condition for the date to be allowed.
Also, we have the min and max props to set the date range.
Multiple Month Pickers
We can allow a month picker to let users select multiple months.
For example, we can write:
<template>
<v-row justify="center">
<v-date-picker v-model="months" type="month" multiple></v-date-picker>
</v-row>
</template>
<script>
export default {
name: "HelloWorld",
data: () => ({
months: ["2020-09", "2020-10"],
}),
};
</script>
to let us pick multiple months.
The multiple prop allows for multiple selections.
v-model ‘s value is an array of date strings instead of a date string.
Month Pickers — Setting Picker Width
We can set the month picker’s width.
The width prop sets the width:
<template>
<v-row justify="center">
<v-date-picker v-model="date" type="month" width="290" class="mt-4"></v-date-picker>
</v-row>
</template>
<script>
export default {
name: "HelloWorld",
data: () => ({
date: new Date().toISOString().substr(0, 7),
}),
};
</script>
Also, we can set the full-width prop to make the month picker fill the screen:
<template>
<v-row justify="center">
<v-date-picker v-model="date" type="month" full-width class="mt-4"></v-date-picker>
</v-row>
</template>
<script>
export default {
name: "HelloWorld",
data: () => ({
date: new Date().toISOString().substr(0, 7),
}),
};
</script>
Month Pickers Internationalization
The locale prop lets us set the language of the month picker.
For example, we can write:
<template>
<v-row justify="space-around">
<v-date-picker v-model="date" type="month" locale="sv-se"></v-date-picker>
</v-row>
</template>
<script>
export default {
name: "HelloWorld",
data: () => ({
date: new Date().toISOString().substr(0, 7),
}),
};
</script>
We set the month picker to display in Swedish with the locale prop.
Month Picker Icons
The month picker icon lets us set the icons with various props.
For example, we can write:
<template>
<v-row justify="center">
<v-date-picker
v-model="date"
type="month"
year-icon="mdi-calendar-blank"
prev-icon="mdi-skip-previous"
next-icon="mdi-skip-next"
></v-date-picker>
</v-row>
</template>
<script>
export default {
name: "HelloWorld",
data: () => ({
date: new Date().toISOString().substr(0, 7),
}),
};
</script>
We set the year-icon , prev-icon and next-icon props to set the year and navigation icons.
Conclusion
We can set the month picker component with various props to style them.