jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
20 lines (19 loc) • 904 B
TypeScript
/**
* @description 左侧导航。
*/
import React from 'react';
import type { AsideNavProps, LinkItem, NavigationObject } from '../types';
interface AsideNavState {
navigations: Array<NavigationObject>;
}
export default class AsideNav extends React.Component<AsideNavProps, AsideNavState> {
static defaultProps: Partial<AsideNavProps>;
constructor(props: AsideNavProps);
componentDidUpdate(prevProps: AsideNavProps): void;
formatNavs: (navs: NavigationObject[], { checkIsOpen, checkIsActive, expandable }: AsideNavProps) => NavigationObject[];
toggleExpand: (link: LinkItem, e?: React.MouseEvent<HTMLElement>) => void;
renderLink: (link: LinkItem, key: string | number, { folded, ...propsParam }?: Partial<AsideNavProps>, depth?: number) => React.ReactNode;
renderSubLinks: (link: LinkItem, depth: number) => JSX.Element | null;
render(): JSX.Element;
}
export {};