UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

59 lines (58 loc) 1.77 kB
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; }