UNPKG

tdesign-mobile-vue

Version:
52 lines (51 loc) 1.67 kB
import { TNode, KeysType } from '../common'; export interface TdPickerProps { cancelBtn?: boolean | string; columns: PickerColumn | Array<PickerColumn> | ((item: Array<PickerValue>) => Array<PickerColumn>); confirmBtn?: boolean | string; footer?: TNode; header?: TNode; keys?: KeysType; option?: (option: PickerColumnItem, index: number) => string | Record<string, string | boolean>; renderLabel?: (item: PickerColumnItem, index: number) => string; swipeDuration?: string | number; title?: string; value?: Array<PickerValue>; defaultValue?: Array<PickerValue>; modelValue?: Array<PickerValue>; wheelConfig?: PickerWheelConfig; onCancel?: (context: { e: MouseEvent; }) => void; onChange?: (value: Array<PickerValue>, context: { columns: Array<PickerContext>; e: MouseEvent; }) => void; onConfirm?: (value: Array<PickerValue>, context: { index: number[]; e: MouseEvent; label: string[]; }) => void; onPick?: (value: Array<PickerValue>, context: PickerContext) => void; } export type PickerColumn = PickerColumnItem[]; export interface PickerColumnItem { label: string; value: string; disabled?: boolean; } export type PickerValue = string | number; export interface PickerWheelConfig { inertiaDuration?: number; bounceDuration?: number; transitionDuration?: number; inertiaTimeThreshold?: number; inertiaDistanceThreshold?: number; boundOffset?: number; clickDistanceThreshold?: number; clickTimeThreshold?: number; } export interface PickerContext { column: number; index: number; }