DatePicker 日期选择器

使用日期选择器来输入日期。

输入日期

以「日」为基本单位的日期选择器。

其他日期单位

通过扩展标准日期选择器组件,您可以选择周、月、年或多个日期。

日期范围

支持选择日期范围。

月份范围

支持选择月份范围。

年份范围 2.8.0

支持选择年份范围。

默认值

如果用户尚未选择日期,则默认显示今天的日历。您可以使用 default-value 来设置另一个日期。它的值应该可以被 new Date() 解析。

如果类型是 daterangedefault-value 将设置左侧日历。

日期格式

使用 format 属性可以控制输入框中显示的文本格式。 使用 value-format 属性可以控制绑定值的格式。

默认情况下,该组件接受并返回一个 Date 对象。

点击这里查看 Day.js 中所有可用的格式。

警告

注意大小写

开始日期和结束日期的默认时间

选择日期范围时,您可以为开始日期和结束日期指定时间部分。

设置自定义前缀内容

前缀的内容可以自定义。

自定义内容

单元格的内容可以自定义,在作用域插槽中您可以获取单元格数据。请注意,自定义内容结构应与默认结构保持一致,否则可能会出现样式错位。

自定义图标 2.8.0

可以使用插槽来自定义图标。

有关数据详情,请参阅

ts
interface DateCell {
  column: number
  customClass: string | undefined
  disabled: boolean
  end: boolean
  inRange: boolean
  row: number
  selected: Dayjs | undefined
  isCurrent: boolean | undefined
  isSelected: boolean
  renderText: string | undefined
  start: boolean
  text: number
  timestamp: number
  date: Date
  dayjs: Dayjs
  type: 'normal' | 'today' | 'week' | 'next-month' | 'prev-month'
}

本地化

默认的区域设置为英文,如果你需要使用其他语言,请参考 国际化

注意,日期时间区域设置 (月份名称、每周第一天等) 也在本地化配置中。

API

属性

名称描述类型默认值
model-value / v-model绑定值,如果它是一个 range 选择器,数组的长度应该是 2number / string / Date / array''
只读日期选择器是否只读booleanfalse
disabledDatePicker 是否被禁用booleanfalse
size输入框尺寸枚举
可编辑输入框是否可编辑booleantrue
可清空是否显示清除按钮booleantrue
占位符非范围选择时的占位内容string''
start-placeholder范围模式下开始日期的占位符string
end-placeholder范围模式下结束日期的占位符string
type选择器类型枚举
format输入框中显示值的格式string 详见 日期格式YYYY-MM-DD
popper-classDatePicker 下拉框的自定义类名string
popper-styleDatePicker 下拉框的自定义样式string / object
popper-options自定义 popper 选项,更多请看 popper.jsobject{}
range-separator选择范围时的分隔符string'-'
default-value可选,选择器打开时默认显示的时间object
默认时间可选,选择日期范围时使用的时间值object
value-format可选,绑定值的格式。 如果未指定,则绑定值为 Date 对象string 详见 日期格式
id与原生 input 的 `id` 属性相同string / object
名称与原生输入框的 `name` 相同string / object''
取消面板链接在范围选择器中取消两个日期面板的链接booleanfalse
前缀图标自定义前缀图标组件。默认情况下,如果 type 的值是 TimeLikeType,则值为 Clock,否则为 Calendarstring / object''
clear-icon自定义清除图标组件string / objectCircleClose
validate-event是否触发表单验证booleantrue
禁用日期一个用来判断该日期是否被禁用的函数,接受一个日期作为参数。应该返回一个布尔值Function
快捷选项设置快捷选项的对象数组object[]
单元格类名设置自定义的类名Function
teleported日期选择器下拉框是否传送到 body 元素booleantrue
empty-values 2.7.0组件的空值,参见 config-providerarray
value-on-clear 2.7.0清除返回值,参见 config-providerstring / number / boolean / Function
fallback-placements 2.8.4Tooltip 的可能位置列表 popper.jsarray['bottom', 'top', 'right', 'left']
placement 2.8.4下拉框出现的位置位置bottom
show-footer 2.10.5是否显示页脚booleantrue
show-confirm 2.11.0是否显示确认按钮booleantrue
show-week-number 2.10.3在周旁边显示周数booleanfalse
自动下拉 2.11.4此属性决定了当输入框获得焦点时日期选择器面板是否弹出。(在 3.0 版本中,默认值将设置为 false)booleantrue

事件

名称描述类型
change当用户确认值或点击外部时触发Function
blur在 Input 失去焦点时触发Function
focus在 Input 获得焦点时触发Function
clear 2.7.7在可清除的 DatePicker 中点击清除图标时触发Function
日历更改本日历所选日期发生更改时触发。 仅适用于 rangeFunction
面板更改在点击导航按钮时触发。Function
visible-change当 DatePicker 的下拉框出现/消失时触发Function

插槽

名称描述
default自定义单元格内容
range-separator自定义范围分隔符内容
prev-month 2.8.0上个月图标
next-month 2.8.0下个月图标
prev-year 2.8.0上一年图标
next-year 2.8.0下一年图标

暴露

名称描述类型
focus聚焦日期选择器组件Function
blur 2.8.7使日期选择器组件失焦Function
handleOpen 2.2.16打开 DatePicker 弹出框Function
handleClose 2.2.16关闭 DatePicker 弹出框Function

类型声明

显示声明
ts
import type { Options as PopperOptions } from '@popperjs/core'

type TimeLikeType = 'datetime' | 'datetimerange'

type Placement =
  | 'top'
  | 'top-start'
  | 'top-end'
  | 'bottom'
  | 'bottom-start'
  | 'bottom-end'
  | 'left'
  | 'left-start'
  | 'left-end'
  | 'right'
  | 'right-start'
  | 'right-end'

来源

组件样式文档

贡献者