9.7k

范围日历

上一页下一页

提供了一个专门用于选择日期范围的日历视图。

活动日期,2026 年 4 月 - 5 月
2026 年 4 月 - 5 月
<script setup lang="ts">
import type { DateRange } from 'reka-ui'
import { getLocalTimeZone, today } from '@internationalized/date'
import { RangeCalendar } from '@/components/ui/range-calendar'

const start = today(getLocalTimeZone())
const end = start.add({ days: 7 })

const dateRange = ref({
  start,
  end,
}) as Ref<DateRange>
</script>

<template>
  <RangeCalendar
    v-model="dateRange"
    class="rounded-md border shadow-sm"
    :number-of-months="2"
    disable-days-outside-current-view
  />
</template>

关于

<RangeCalendar /> 组件构建在 Reka UI 范围日历组件之上,该组件使用 @internationalized/date 包来处理日期。

如果您正在寻找普通日历,请查看 Calendar 组件。

安装

pnpm dlx shadcn-vue@latest add range-calendar

使用方法

<script setup lang="ts">
import { RangeCalendar } from "@/components/ui/range-calendar";
</script>

<template>
  <RangeCalendar />
</template>