tdesign-mobile-vue
Version:
tdesign-mobile-vue
74 lines (73 loc) • 2.37 kB
TypeScript
import { PickerColumn, PickerWheelConfig } from './type';
import { KeysType } from '../common';
export interface PickerOptions {
defaultIndex?: number;
keys?: KeysType;
defaultPickerColumns?: PickerColumn;
el: HTMLElement | HTMLDivElement | HTMLUListElement;
onChange: (index: number) => void;
wheelConfig: Required<PickerWheelConfig>;
}
export declare const DEFAULT_ITEM_HEIGHT = 40;
declare class Picker {
holder: HTMLElement | HTMLUListElement;
options: PickerOptions;
list: HTMLUListElement | null;
elementItems: HTMLLIElement[];
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;
pickerColumns: PickerColumn;
inertiaDuration: number;
bounceDuration: number;
transitionDuration: number;
inertiaTimeThreshold: number;
inertiaDistanceThreshold: number;
boundOffset: number;
clickDistanceThreshold: number;
clickTimeThreshold: number;
private resizeObserver;
private heightInitialized;
constructor(options: PickerOptions);
init(): void;
observeResize(): void;
private getFirstItemHeight;
updateItems(): void;
recalculateHeights(): void;
initScrollParams(): void;
bindEvent(): void;
touchStartHandler(event: TouchEvent): void;
getCount(): number;
getRange(thresholdA?: number, thresholdB?: number): {
min: number;
max: number;
};
touchMoveHandler(event: TouchEvent): void;
touchEndHandler(event: TouchEvent): void;
updateInertiaParams(event: TouchEvent, isStart: boolean): void;
scrollDist(startOffsetY: number, dist: number, duration: number): void;
update(options?: any): void;
updateIndex(index: number, options?: any): void;
updateOptions(options?: PickerColumn): void;
getCurIndex(): number;
setSelectedClassName(): void;
setOffsetY(offsetY: number): void;
endScroll(): void;
destroy(): void;
}
export default Picker;