@fle-ui/pro-router
Version:
67 lines (66 loc) • 1.83 kB
TypeScript
import type { ReactElement, FC } from 'react';
import routerLoader from './routerLoader';
/**
* @description 面包屑信息
* @default {}
*/
export interface BreadcrumbItem {
title?: string;
path?: string;
}
export interface RouterChildrenItem {
title?: string;
path: string;
exact?: boolean;
redirect?: string;
component?: string | ReactElement;
realComponent?: ReactElement;
routers?: RouterChildrenItem[];
auth?: string;
}
export interface RouterItem {
title?: string;
path?: string;
exact?: boolean;
redirect?: string;
layout?: string | ReactElement;
component?: string | ReactElement;
routers?: RouterChildrenItem[];
auth?: string;
authKey?: string | number;
isAuth?: boolean;
}
export interface RouterConfigChildrenItem extends RouterChildrenItem {
breadcrumb?: BreadcrumbItem[];
}
export interface RouterConfigItem extends RouterItem {
breadcrumb?: BreadcrumbItem[];
routers?: RouterConfigChildrenItem[];
}
export interface RouterProps {
/**
* @description 路由的基础配置信息
* @default []
*/
router?: RouterItem[];
/**
* @description 给每个页面设置标签title 两种方式 根据路由配置的title 或者meta的内容
* @default undefined
*/
setTitle?: boolean | 'title' | 'meta';
/**
* @description 格式化 页面标签title
* @default undefined
*/
formatTitle?: (title: string) => void;
basename?: string;
getUserConfirmation?: (message: string, callback: (ok: boolean) => void) => void;
forceRefresh?: boolean;
keyLength?: number;
appId?: string;
noAuthPage?: ReactElement;
env?: 'dev' | 'test' | 'qa' | 'prod' | 'mock';
}
declare const Router: FC<RouterProps>;
export { routerLoader };
export default Router;