jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
41 lines (40 loc) • 1.51 kB
TypeScript
/**
* 锚点导航
*/
import React from 'react';
import type { AnchorNavProps, AnchorNavSchema, AnchorNavSectionProps } from './types';
interface SectionOffset {
key: string | number;
offsetTop: number;
}
interface AnchorNavState {
active: AnchorNavSchema['active'];
offsetArr: SectionOffset[];
}
export declare class AnchorNavSection extends React.PureComponent<AnchorNavSectionProps> {
contentDom: any;
contentRef: (ref: any) => any;
render(): JSX.Element;
}
export declare class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
static defaultProps: Partial<AnchorNavProps>;
contentDom: React.RefObject<HTMLDivElement>;
observer: MutationObserver;
fromSelect: boolean;
resetFromSelectTimer: NodeJS.Timeout | null;
constructor(props: AnchorNavProps);
componentDidMount(): void;
componentWillUnmount(): void;
updateSectionOffset: (parentNode: HTMLElement, inited: boolean) => void;
scrollToNav: (e: Event) => void;
scrollToSection: (key: string | number) => void;
handleSelect(key: string | number): void;
fireSelect: (key: string | number, callback?: () => void) => void;
renderLink: (link: any, index: number) => JSX.Element | undefined;
renderSection: (section: any, index: number) => React.DetailedReactHTMLElement<any, HTMLElement> | undefined;
render(): JSX.Element | null;
}
declare const _default: typeof AnchorNav & {
AnchorNavSection: typeof AnchorNavSection;
};
export default _default;