Skip to content

DateRange 日期范围

用于选择日期范围,通过两个独立的日期选择器来实现,而不是使用原生的范围选择器。

类型定义

typescript
interface DateRangeProps {
  type?: 'datetime' | 'date' | 'month' | 'year'
  valueFormat?: string
  rangeSeparator?: string
  props?: Record<string, any>
  startProps?: Record<string, any>
  endProps?: Record<string, any>
}

DateRange 属性

属性名说明类型可选值默认值
model-value / v-model绑定值(Date | null)[]
type显示类型'datetime' | 'date' | 'month' | 'year'datetime/date/month/year'date'
value-format可选,绑定值的格式string根据 type 自动计算
range-separator选择范围时的分隔符string'至'
props通用属性,应用到两个日期选择器Record<string, any>
start-props开始日期选择器的专属属性Record<string, any>
end-props结束日期选择器的专属属性Record<string, any>

DateRange 事件

事件名说明回调参数
change用户确认选定的值时触发value: (Date | null)[]

DateRange 方法

通过组件内部的 DatePicker 实例提供以下方法:

方法名说明参数
focus使 input 获取焦点position?: 'start' | 'end'
blur使 input 失去焦点position?: 'start' | 'end'

自动调整逻辑

组件内置了智能的日期调整逻辑:

  • 当开始日期大于结束日期时,会自动将结束日期调整为开始日期
  • 当结束日期小于开始日期时,会自动将开始日期调整为结束日期
  • 清空任一日期时,会同时清空另一个日期
  • 选择开始日期后会自动聚焦到结束日期选择器

预设格式

根据不同的 type 类型,组件会自动应用相应的格式:

Type默认格式宽度
datetimeYYYY-MM-DD HH:mm:ss450px
dateYYYY-MM-DD350px
monthYYYY-MM300px
yearYYYY220px

Released under the MIT License.