Skip to content

DateTime Picker 日期时间选择器

DateTime Picker 用于在同一个输入控件中选择日期和时间。VISTA B 直接使用 Element Plus 的 el-date-picker,通过 type="datetime"type="datetimerange" 开启日期时间能力,适合定时发送、预约生效、任务排期等场景。

日期和时间点

设置 type="datetime" 后,可以在同一个选择器中同时选择日期和时间。快捷选项 shortcuts 的使用方式与 Date Picker 一致。

DateTime
With shortcuts
vue
<script setup>
import { ref } from 'vue'

const value = ref('')
const shortcuts = [
  {
    text: 'Today',
    value: new Date()
  }
]
</script>

<template>
  <el-date-picker
    v-model="value"
    type="datetime"
    placeholder="Select date and time"
    :shortcuts="shortcuts"
  />
</template>

日期时间格式

通过 format 控制输入框中显示的格式,通过 value-format 控制绑定值的格式。不设置 value-format 时,绑定值为 Date 对象。

value: 2026-05-26 10:30:00
vue
<el-date-picker
  v-model="value"
  type="datetime"
  format="YYYY/MM/DD HH:mm"
  value-format="YYYY-MM-DD HH:mm:ss"
/>

下拉列表中的日期和时间格式

date-formattime-format 用于控制面板中的日期、时间展示格式,适合输入框格式和面板格式需要分开管理的场景。

vue
<el-date-picker
  v-model="value"
  type="datetime"
  date-format="YYYY/MM/DD ddd"
  time-format="A hh:mm:ss"
/>

日期和时间范围

设置 type="datetimerange" 后可以选择一段日期时间范围。范围选择器支持开始、结束占位文案、范围分隔符、快捷选项等配置。

To
vue
<el-date-picker
  v-model="value"
  type="datetimerange"
  :shortcuts="shortcuts"
  range-separator="To"
  start-placeholder="Start date"
  end-placeholder="End date"
/>

单个面板

默认范围选择器会显示两个面板。设置 single-panel 后,范围选择器只展示一个面板,适合空间较窄的筛选区。

To
vue
<el-date-picker
  v-model="value"
  type="datetimerange"
  single-panel
/>

默认的起始与结束时刻

使用 datetimerange 进行范围选择时,如果用户只选定日期,默认会使用 00:00:00 作为起止时刻。通过 default-time 可以分别设置开始日期和结束日期的默认时间。

Start and end date time 12:00:00
-
Start 12:00:00, end 08:00:00
-
vue
<script setup>
const defaultTime = [
  new Date(2000, 1, 1, 12, 0, 0),
  new Date(2000, 1, 1, 8, 0, 0)
]
</script>

<template>
  <el-date-picker
    v-model="value"
    type="datetimerange"
    :default-time="defaultTime"
  />
</template>

自定义图标

通过 prefix-iconclear-icon 可以替换输入框前缀图标与清除图标。

Calendar icon
Clock icon and custom clear
vue
<script setup>
import { Calendar } from '@element-plus/icons-vue'
</script>

<template>
  <el-date-picker
    v-model="value"
    type="datetime"
    :prefix-icon="Calendar"
  />
</template>

API

DateTimePicker 属性

属性说明类型默认值
model-value / v-model绑定值;范围选择器应传入长度为 2 的数组number / string / Date / array
readonly是否只读booleanfalse
disabled是否禁用booleanfalse
editable文本框是否可输入booleantrue
clearable是否显示清除按钮booleantrue
size输入框尺寸large / default / smalldefault
placeholder非范围选择时的占位内容string
start-placeholder范围选择时开始日期的占位内容string
end-placeholder范围选择时结束日期的占位内容string
arrow-control是否使用箭头进行时间选择booleanfalse
type显示类型,日期时间场景常用 datetimedatetimerangedate / datetime / datetimerange / daterangedate
format显示在输入框中的格式stringYYYY-MM-DD HH:mm:ss
popper-class下拉框的类名string / object
popper-style下拉框的自定义样式string / object
popper-optionsPopper.js 参数object{}
fallback-placementsPopper 可用的备用位置array['bottom', 'top', 'right', 'left']
placement下拉框出现的位置top / bottom / left / rightbottom
range-separator范围选择时的分隔符string-
default-value面板打开时默认显示的时间Date / [Date, Date]
default-time选择日期后的默认时间值Date / [Date, Date]00:00:00
value-format绑定值的格式;不指定时绑定值为 Date 对象string
date-format面板中显示的日期格式stringYYYY-MM-DD
time-format面板中显示的时间格式stringHH:mm:ss
id原生 input 的 id 属性string / array
name原生 input 的 name 属性string / array
unlink-panels范围选择器中取消两个日期面板之间的联动booleanfalse
single-panel范围选择器中只显示一个面板booleanfalse
prefix-icon自定义前缀图标组件string / ComponentDate
clear-icon自定义清除图标string / ComponentCircleClose
shortcuts快捷选项数组array
disabled-date判断日期是否禁用的函数,参数为 Date,返回 booleanfunction
disabled-hours禁止选择部分小时选项function
disabled-minutes禁止选择部分分钟选项function
disabled-seconds禁止选择部分秒选项function
cell-class-name设置日期单元格自定义类名function
teleported是否将下拉列表插入至 body 元素booleantrue
empty-values组件的空值配置array
value-on-clear清空时设置的值string / number / boolean / function
show-now是否显示 now 按钮booleantrue
show-footer是否显示页脚booleantrue
show-confirm是否显示确定按钮booleantrue
show-week-number是否显示周数,周选择器除外booleanfalse

DateTimePicker 事件

事件名说明类型
change用户确认值或点击外部时触发(value) => void
blur输入框失去焦点时触发(event: FocusEvent) => void
focus输入框获得焦点时触发(event: FocusEvent) => void
clear点击清除按钮时触发() => void
calendar-change日历所选日期更改时触发,仅用于范围类型(value) => void
panel-change日期面板改变时触发(date, mode, view) => void
visible-change下拉列表出现或隐藏时触发(visible: boolean) => void

DateTimePicker 插槽

插槽说明
default自定义日期单元格内容
range-separator自定义范围分隔符内容
prev-month上个月图标
next-month下个月图标
prev-year上一年图标
next-year下一年图标

DateTimePicker 方法

方法名说明类型
focus使组件获取焦点() => void
blur使组件失去焦点() => void

使用提醒

DateTime Picker 仍然是 el-date-picker 的能力集合,关键在于 type。单点选择使用 datetime,范围选择使用 datetimerange;需要把值提交给接口时,建议使用 value-format 固定为后端约定的字符串格式。

HOMEVISTA 设计规范