Skip to content

PickerTime 时间选择器

介绍

时间选择器,用于选择时、分、秒。

基础用法

通过 v-model 绑定当前选中时间,设置空数组时默认选中 当前时间

html
<vd-picker-time v-model="time" title="基础用法" />
ts
const time = ref([]);

自定义列类型

通过 columns-type 属性来控制选项的类型,支持以任意顺序对 hourminutesecond 进行排列组合。

html
<vd-picker-time
  v-model="time"
  title="自定义列"
  :columns-type="columnsType"
/>
ts
import type { PickerTimeColumnsType } from 'vital-design';

const time = ref([]);

const columnsType: PickerTimeColumnsType = [
  'hour',
  'minute',
  'second',
];

限制日期范围

通过 min-timemax-time 属性来设定可选的时间范围,支持 dayjs 日期。

html
<vd-picker-time
  v-model="time"
  title="限制日期范围"
  :min-time="limit.min"
  :max-time="limit.max"
/>
ts
import dayjs from 'dayjs';

const time = ref([]);

// 字符日期
const limit = reactive({
  min: '09:00:00',
  max: '12:00:00',
});

// dayjs日期
const limit2 = reactive({
  min: dayjs().subtract(1, 'hour'),
  max: dayjs().add(1, 'hour'),
});

格式化标签

html
<vd-picker-time
  v-model="time"
  title="格式化标签"
  :formatter="timeOptionFormatter"
/>
ts
import type { PickerTimeFormatter } from 'vital-design';

const time = ref([]);

const timeOptionFormatter: PickerTimeFormatter = (type, value) => {
  if (type === 'hour') {
    return 'H' + value;
  }

  if (type === 'minute') {
    return 'M' + value;
  }

  return '';
}

过滤日期选项

html
<vd-picker-time
  v-model="time"
  title="过滤日期选项"
  :filter="timeOptionFilter"
/>
ts
import type { PickerTimeFilter } from 'vital-design';

const time = ref([]);

const timeOptionFilter: PickerTimeFilter = (type, options, values) => {
  if (type === 'hour') {
    return options.filter(({ value }) => ['08', '17'].includes(value));
  }

  if (type === 'minute') {
    return options.filter(({ value }) => ['01', '30', '59'].includes(value));
  }

  return options;
}

API

Props

参数说明类型默认值
v-model选中值(string | number)[]-
min-time最小日期string | number | Date | dayjs.Dayjs'00:00:00'
max-time最大日期string | number | Date | dayjs.Dayjs'23:59:59'
columns-type选项类型'hour' | 'minute' | 'second'['hour', 'minute']
filter过滤选项方法PickerTimeFilter-
formatter格式化标签方法PickerTimeFormatter-
title标题string-
confirm-button-text确认按钮文字string-
cancel-button-text取消按钮文字string-
immediate-change是否在手指松开时立即触发 change 事件booleantrue

代替原始 Props

参数说明类型默认值
custom-id根节点idstring-
custom-class根节点类名ClassValue-
custom-style根节点样式StyleValue-

Events

事件名说明回调参数
click点击时触发MouseEvent
change改变时触发PickerTimeSelectedChangeData
updated更新时触发PickerTimeSelectedData
confirm确认时触发PickerTimeSelectedData
cancel取消时触发PickerTimeSelectedData

Slots

名称说明
toolbar工具栏

赣ICP备2025061025号-1