UNPKG

@uiw/react-affix

Version:
41 lines (40 loc) 1.3 kB
import React from 'react'; import { IProps, HTMLDivProps } from '@uiw/utils'; export interface AffixProps extends IProps, Omit<HTMLDivProps, 'onChange'> { /** * 距离窗口顶部达到指定偏移量后触发 */ offsetTop?: number; /** * 距离窗口底部达到指定偏移量后触发 */ offsetBottom?: number; target?: () => Window | HTMLElement | null; /** * 固定状态改变时触发的回调函数 */ onChange?: (affixed?: boolean) => void; } export interface AffixState { affixStyle?: React.CSSProperties; placeholderStyle?: React.CSSProperties; } export default class Affix extends React.Component<AffixProps, AffixState> { static defaultProps: AffixProps; state: AffixState; private box; private target; private readonly events; private eventHandlers; private timeout?; constructor(props: AffixProps & HTMLDivProps); componentDidMount(): void; componentWillUnmount(): void; updatePosition(): void; setAffixStyle(affixStyle?: React.CSSProperties): void; setPlaceholderStyle(placeholderStyle?: React.CSSProperties): void; setTargetEventListeners(): void; clearEventListeners(): void; getInstance: (node: HTMLDivElement) => void; render(): React.JSX.Element; }