QDate и QTime — это мощные компоненты библиотеки Quasar, предназначенные для работы с выбором дат и времени в веб-приложениях на Vue.js. Они предоставляют гибкий и настраиваемый интерфейс, поддерживают локализацию, различные форматы и множество событий для взаимодействия с приложением.
QDate позволяет пользователю выбирать одну или несколько
дат, а также управлять диапазонами дат. Основные свойства компонента
включают:
<q-date v-model="selectedDate" />
selectedDate будет содержать значение даты в формате
YYYY-MM-DD.
<q-date v-model="selectedDate" mask="DD/MM/YYYY" />
<q-date
v-model="selectedDate"
:options="dateOptions"
/>
methods: {
dateOptions(date) {
const day = new Date(date).getDay();
return day !== 0 && day !== 6;
}
}
<q-date v-model="selectedDate" locale="ru" />
<q-date v-model="dateRange" range />
<q-date v-model="selectedDate" first-day-of-week="1" />
QTime используется для выбора времени с точностью до
часов, минут и секунд. Ключевые свойства:
<q-time v-model="selectedTime" />
Формат значения по умолчанию — HH:mm:ss.
false, отображается 12-часовой формат с
AM/PM:<q-time v-model="selectedTime" format24h />
<q-time v-model="selectedTime" min="09:00" max="18:00" />
<q-time v-model="selectedTime" with-seconds />
<q-time v-model="selectedTime" :minutes-step="15" />
Quasar предоставляет богатые возможности кастомизации как
QDate, так и QTime:
<q-date v-model="selectedDate" color="primary" text-color="white" />
navigation-icon и arrows: позволяют изменять иконки навигации между месяцами.
events: массив объектов, которые могут отображаться на календаре с подсветкой. Например:
<q-date
v-model="selectedDate"
:events="events"
color="secondary"
/>
data() {
return {
events: ['2026-03-20', '2026-03-25']
}
}
<q-date v-model="selectedDate" header-title-format="MMMM YYYY" />
QDate поддерживает не только одиночный выбор, но и
диапазоны:
[startDate, endDate].Пример множественного выбора с ограничением:
<q-date
v-model="selectedDates"
multiple
:options="dateOptions"
/>
QDate и QTime отлично интегрируются с
QForm и валидацией Quasar:
<q-form @submit="submitForm">
<q-date v-model="selectedDate" :rules="[date => !!date || 'Выберите дату']" />
<q-time v-model="selectedTime" :rules="[time => !!time || 'Выберите время']" />
<q-btn type="submit" label="Отправить" color="primary" />
</q-form>
Метод submitForm получает актуальные значения и может
выполнять обработку данных.
v-model, позволяет отслеживать изменения.mask и
format24h для согласованного формата данных.options, избегая
некорректных пользовательских вводов.QDate и QTime предоставляют богатый
функционал, который можно тонко настраивать через свойства, методы и
события, создавая гибкий интерфейс выбора даты и времени в любом
приложении на Quasar и Vue.js.