UNPKG

@tplc/wot

Version:

309 lines (308 loc) 6.64 kB
import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue' import type { DateTimeType, DatetimePickerViewFilter, DatetimePickerViewFormatter, } from '../wd-datetime-picker-view/types' import type { FormItemRule } from '../wd-form/types' export declare const datetimePickerProps: { /** * 选择器左侧文案,label可以不传 */ label: StringConstructor /** * 选择器占位符 */ placeholder: StringConstructor /** * 禁用 */ disabled: { type: BooleanConstructor default: boolean } /** * 只读 */ readonly: { type: BooleanConstructor default: boolean } /** * 加载中 */ loading: { type: BooleanConstructor default: boolean } /** * 加载的颜色,只能使用十六进制的色值写法,且不能使用缩写 */ loadingColor: { type: PropType<string> default: string } /** * 弹出层标题 */ title: StringConstructor /** * 取消按钮文案 */ cancelButtonText: StringConstructor /** * 确认按钮文案 */ confirmButtonText: StringConstructor /** * 是否必填 */ required: { type: BooleanConstructor default: boolean } /** * 设置选择器大小,可选值:large */ size: StringConstructor /** * 设置左侧标题宽度 */ labelWidth: { type: PropType<string> default: string } /** * 使用默认插槽 */ useDefaultSlot: { type: BooleanConstructor default: boolean } /** * label 使用插槽 */ useLabelSlot: { type: BooleanConstructor default: boolean } /** * 是否为错误状态,错误状态时右侧内容为红色 */ error: { type: BooleanConstructor default: boolean } /** * 选择器的值靠右展示 */ alignRight: { type: BooleanConstructor default: boolean } /** * 点击遮罩是否关闭 */ closeOnClickModal: { type: BooleanConstructor default: boolean } /** * 弹出面板是否设置底部安全距离(iphone X 类型的机型) */ safeAreaInsetBottom: { type: BooleanConstructor default: boolean } /** * 是否超出隐藏 */ ellipsis: { type: BooleanConstructor default: boolean } /** * picker内部滚筒高 */ columnsHeight: { type: NumberConstructor default: number } valueKey: { type: PropType<string> default: string } labelKey: { type: PropType<string> default: string } /** * 选中项,当 type time 时,类型为字符串;当 type Array 时,类型为范围选择;否则为 时间戳 */ modelValue: { type: PropType<string | number | Date | (string | number | Date)[]> required: true } /** * 选择器类型,可选值为:date / year-month / time */ type: { type: PropType<DateTimeType> default: DateTimeType } /** * 最小日期 */ 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 } /** * 自定义过滤选项的函数,返回列的选项数组 */ filter: PropType<DatetimePickerViewFilter> /** * 自定义弹出层选项文案的格式化函数,返回一个字符串 */ formatter: PropType<DatetimePickerViewFormatter> /** * 自定义展示文案的格式化函数,返回一个字符串 */ displayFormat: PropType<DatetimePickerDisplayFormat> /** * 确定前校验函数,接收 (value, resolve, picker) 参数,通过 resolve 继续执行 picker,resolve 接收1个boolean参数 */ beforeConfirm: PropType<DatetimePickerBeforeConfirm> /** * 在区域选择模式下,自定义展示tab标签文案的格式化函数,返回一个字符串 */ displayFormatTabLabel: PropType<DatetimePickerDisplayFormatTabLabel> /** * 默认日期,类型保持与 value 一致,打开面板时面板自动选到默认日期 */ defaultValue: PropType<string | number | Array<string | number>> /** * 弹窗层级 */ zIndex: { type: NumberConstructor default: number } /** * 表单域 model 字段名,在使用表单校验功能的情况下,该属性是必填的 */ prop: StringConstructor /** * 表单验证规则,结合wd-form组件使用 */ rules: { type: PropType<FormItemRule[]> default: () => never[] } /** * picker cell 外部自定义样式 */ customCellClass: { type: PropType<string> default: string } /** * pickerView 外部自定义样式 */ customViewClass: { type: PropType<string> default: string } /** * label 外部自定义样式 */ customLabelClass: { type: PropType<string> default: string } /** * value 外部自定义样式 */ customValueClass: { type: PropType<string> default: string } /** * 是否在手指松开时立即触发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 DatetimePickerDisplayFormat = (items: Record<string, any>[]) => string export type DatetimePickerBeforeConfirm = ( value: number | string | (number | string)[], resolve: (isPass: boolean) => void, picker: DatetimePickerInstance, ) => void export type DatetimePickerDisplayFormatTabLabel = (items: Record<string, any>[]) => string export type DatetimePickerExpose = { /** * 打开picker弹框 */ open: () => void /** * 关闭picker弹框 */ close: () => void /** * 设置加载状态 * @param loading 加载状态 * @returns */ setLoading: (loading: boolean) => void } export type DatetimePickerProps = ExtractPropTypes<typeof datetimePickerProps> export type DatetimePickerInstance = ComponentPublicInstance< DatetimePickerProps, DatetimePickerExpose >