@jdcfe/yep-react
Version:
一套移动端的React组件库
59 lines (58 loc) • 1.77 kB
TypeScript
import * as React from 'react';
export interface Indicator {
activate?: React.ReactNode;
deactivate?: React.ReactNode;
release?: React.ReactNode;
finish?: React.ReactNode;
}
export interface PullToRefreshProps {
prefixCls?: string;
className?: string;
style?: React.CSSProperties;
pullDownToRefreshThreshold?: number;
maxPullDownDistance?: number;
refreshFunction?: () => void;
refreshing: boolean;
indicator?: Indicator;
getScrollContainer?: () => HTMLElement;
}
export declare type CurrentState = 'activate' | 'deactivate' | 'release' | 'finish';
export interface PullToRefreshState {
currentState: CurrentState;
}
export default class PullToRefresh extends React.PureComponent<PullToRefreshProps, PullToRefreshState> {
static defaultProps: {
pullDownToRefreshThreshold: number;
maxPullDownDistance: number;
disableBrowserPullToRefresh: boolean;
style: {};
prefixCls: string;
indicator: {
activate: string;
deactivate: string;
release: string;
finish: string;
};
getScrollContainer: () => undefined;
};
private container;
private ele;
private containerRef;
startY: number;
startX: number;
currentY: number;
currentX: number;
dragging: boolean;
constructor(props: PullToRefreshProps);
componentDidMount(): void;
componentDidUpdate(prevProps: PullToRefreshProps): void;
componentWillUnmount(): void;
triggerPullToRefresh: () => void;
onStart(evt: any): void;
isMoveEdge: () => boolean;
onMove(evt: any): void;
onEnd(): void;
setInfScrollStyle: (cs: number) => void;
reset: () => void;
render(): JSX.Element;
}