UNPKG

@tplc/wot

Version:

179 lines (178 loc) 4.2 kB
import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue' export type DateTimeType = 'date' | 'year-month' | 'time' | 'datetime' | 'year' export declare const datetimePickerViewProps: { /** * 选中项,当 type time 时,类型为字符串,否则为 时间戳 */ modelValue: { type: (NumberConstructor | StringConstructor)[] required: true } /** * 加载中 */ loading: { type: BooleanConstructor default: boolean } /** * 加载的颜色,只能使用十六进制的色值写法,且不能使用缩写 */ loadingColor: { type: PropType<string> default: string } /** * picker内部滚筒高 */ columnsHeight: { type: NumberConstructor default: number } /** * picker item的高度 */ itemHeight: { type: NumberConstructor default: number } /** * 选项的key */ valueKey: { type: PropType<string> default: string } /** * 选项的label */ labelKey: { type: PropType<string> default: string } /** * 选择器类型,可选值:date / year-month / time */ type: { type: PropType<DateTimeType> default: DateTimeType } /** * 自定义过滤选项的函数,返回列的选项数组 */ filter: PropType<DatetimePickerViewFilter> /** * 自定义弹出层选项文案的格式化函数,返回一个字符串 */ formatter: PropType<DatetimePickerViewFormatter> /** * 自定义列的格式化函数 */ columnFormatter: PropType<DatetimePickerViewColumnFormatter> /** * 最小日期 */ minDate: { type: NumberConstructor default: number } /** * 最大日期 */ maxDate: { type: NumberConstructor default: number } /** * 最小小时,time类型时生效 */ minHour: { type: NumberConstructor default: number } /** * 最大小时,time类型时生效 */ maxHour: { type: NumberConstructor default: number } /** * 最小分钟,time类型时生效 */ minMinute: { type: NumberConstructor default: number } /** * 最大分钟,time类型时生效 */ maxMinute: { type: NumberConstructor default: number } /** * 是否显示秒选择,仅在 time datetime 类型下生效 */ useSecond: { type: BooleanConstructor default: boolean } /** * 最小秒数,仅在 time datetime 类型下生效 */ minSecond: { type: NumberConstructor default: number } /** * 最大秒数,仅在 time datetime 类型下生效 */ maxSecond: { type: NumberConstructor default: number } /** * 是否在手指松开时立即触发picker-view的 change 事件。若不开启则会在滚动动画结束后触发 change 事件,1.2.25版本起提供,仅微信小程序和支付宝小程序支持。 */ immediateChange: { type: BooleanConstructor default: boolean } customStyle: { type: PropType<string> default: string } customClass: { type: PropType<string> default: string } } export type DatetimePickerViewColumnType = 'year' | 'month' | 'date' | 'hour' | 'minute' | 'second' export type DatetimePickerViewOption = { label: string value: number } export type DatetimePickerViewFilter = ( type: DatetimePickerViewColumnType, values: number[], ) => number[] export type DatetimePickerViewFormatter = (type: string, value: string) => string export type DatetimePickerViewColumnFormatter = ( picker: DatetimePickerViewExpose, ) => DatetimePickerViewOption[][] export type DatetimePickerViewProps = ExtractPropTypes<typeof datetimePickerViewProps> export type DatetimePickerViewExpose = { updateColumns: () => DatetimePickerViewOption[][] setColumns: (columnList: DatetimePickerViewOption[][]) => void getSelects: () => Record<string, any> | Record<string, any>[] | undefined correctValue: (value: string | number) => string | number getOriginColumns: () => { type: DatetimePickerViewColumnType values: number[] }[] } export type DatetimePickerViewInstance = ComponentPublicInstance< DatetimePickerViewProps, DatetimePickerViewExpose >