Компонент календаря для Vue.js 3 с использованием Composition API, разработанный согласно тестовому заданию.
- Переключение месяцев с помощью стрелок навигации
- Выбор конкретной даты при клике
- Событие
date-selected, которое возвращает выбранную дату в форматеYYYY-MM-DD - Поддержка инициализации с начальной датой через свойство
initial-dateв форматеYYYY-MM-DD - Автоматическое использование текущей даты, если
initial-dateне указан - Поддержка смены языка интерфейса (русский/английский) через prop
locale
npm installДля разработки:
npm run devДля сборки проекта:
npm run buildДля предварительного просмотра собранного проекта:
npm run preview<template>
<div>
<Calendar @date-selected="handleDateSelection" />
</div>
</template>
<script setup lang="ts">
import Calendar from '@/components/Calendar';
const handleDateSelection = (date: string): void => {
console.log('Выбранная дата:', date); // Формат: "YYYY-MM-DD"
};
</script><Calendar
initial-date="2018-07-10"
@date-selected="handleDateSelection"
/><Calendar
locale="en"
@date-selected="handleDateSelection"
/>| Prop | Тип | По умолчанию | Описание |
|---|---|---|---|
initial-date |
String | null |
Начальная дата в формате YYYY-MM-DD. Если не указана, используется текущая дата |
locale |
String | 'ru' |
Язык интерфейса: 'ru' или 'en' |
| Событие | Описание | Данные |
|---|---|---|
date-selected |
Вызывается при выборе даты | Строка в формате YYYY-MM-DD |
- Vue.js 3.3+ с Composition API
- TypeScript для типизации
- Vite для сборки и разработки