tdesign-mobile-vue
Version:
tdesign-mobile-vue
52 lines (51 loc) • 1.66 kB
TypeScript
export interface PickerOptions {
defaultIndex?: number;
el: HTMLElement | HTMLDivElement | HTMLUListElement;
onChange: (index: number) => void;
}
export declare const DEFAULT_ITEM_HEIGHT = 40;
export declare const ANIMATION_TIME_LIMIT = 460;
declare class Picker {
holder: HTMLElement | HTMLUListElement;
options: PickerOptions;
list: HTMLUListElement | null;
elementItems: HTMLLIElement[];
height: number;
curIndex: number;
itemClassName: string;
itemSelectedClassName: string;
itemHeight: number;
lastMoveTime: number;
lastMoveStart: number;
stopInertiaMove: boolean;
startY: number;
isPicking: boolean;
offsetYOfStartBound: number;
offsetYOfEndBound: number;
offsetY: number;
offsetYOfStart: number;
offsetYOfEnd: number;
curValue: string | null;
onChange: (index: number) => void;
itemGroupHeight: number;
indicatorOffset: number;
constructor(options: PickerOptions);
init(): void;
updateItems(): void;
initScrollParams(): void;
bindEvent(): void;
touchStartHandler(event: TouchEvent): void;
touchMoveHandler(event: TouchEvent): void;
touchEndHandler(event: TouchEvent): void;
updateInertiaParams(event: TouchEvent, isStart: boolean): void;
scrollDist(now: number, startOffsetY: number, dist: number, duration: number): void;
update(options?: any): void;
updateIndex(index: number, options?: any): void;
getCurIndex(): number;
fix3d(index: number): void;
setSelectedClassName(): void;
setOffsetY(offsetY: number): void;
endScroll(): void;
destroy(): void;
}
export default Picker;