@tplc/wot
Version:
71 lines (70 loc) • 1.78 kB
TypeScript
import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue'
import type { CalendarFormatter, CalendarTimeFilter, CalendarType } from '../types'
/**
* 月份信息
*/
export interface MonthInfo {
date: number
height: number
}
export declare const monthPanelProps: {
type: {
type: PropType<CalendarType>
required: true
}
value: {
type: PropType<number | (number | null)[] | null>
required: true
}
minDate: {
type: NumberConstructor
required: true
}
maxDate: {
type: NumberConstructor
required: true
}
firstDayOfWeek: {
type: NumberConstructor
required: true
}
formatter: PropType<CalendarFormatter>
maxRange: NumberConstructor
rangePrompt: StringConstructor
allowSameDay: {
type: BooleanConstructor
default: boolean
}
showPanelTitle: {
type: BooleanConstructor
default: boolean
}
defaultTime: {
type: PropType<Array<number[]>>
}
panelHeight: {
type: NumberConstructor
required: true
}
timeFilter: PropType<CalendarTimeFilter>
hideSecond: {
type: BooleanConstructor
default: boolean
}
/**
* 是否在手指松开时立即触发picker-view的 change 事件。若不开启则会在滚动动画结束后触发 change 事件,1.2.25版本起提供,仅微信小程序和支付宝小程序支持。
*/
immediateChange: {
type: BooleanConstructor
default: boolean
}
}
export type MonthPanelProps = ExtractPropTypes<typeof monthPanelProps>
export type MonthPanelTimeType = 'start' | 'end' | ''
export type MonthPanelExpose = {
/**
* 使当前日期或者选中日期滚动到可视区域
*/
scrollIntoView: () => void
}
export type MonthPanelInstance = ComponentPublicInstance<MonthPanelProps, MonthPanelExpose>