UNPKG

1.99 kBTypeScriptView Raw
1import type React from 'react';
2export interface StaticContext {
3 statusCode?: number | undefined;
4}
5export interface match<Params extends {
6 [K in keyof Params]?: string;
7} = Record<string, any>> {
8 params: Params;
9 isExact: boolean;
10 path: string;
11 url: string;
12}
13export type LinkProps = {
14 to: string;
15 replace?: boolean;
16 innerRef?: React.Ref<HTMLAnchorElement>;
17} & React.AnchorHTMLAttributes<HTMLAnchorElement>;
18export type MenuDataItem = {
19 /** @name 子菜单 */
20 children?: MenuDataItem[];
21 routes?: undefined;
22 /** @name 在菜单中隐藏子节点 */
23 hideChildrenInMenu?: boolean;
24 /** @name 在菜单中隐藏自己和子节点 */
25 hideInMenu?: boolean;
26 /** @name 菜单的icon */
27 icon?: React.ReactNode;
28 /** @name 自定义菜单的国际化 key */
29 locale?: string | false;
30 /** @name 菜单的名字 */
31 name?: string;
32 /** @name 用于标定选中的值,默认是 path */
33 key?: string;
34 /** @name disable 菜单选项 */
35 disabled?: boolean;
36 /** @name disable menu 的 tooltip 菜单选项 */
37 disabledTooltip?: boolean;
38 /** @name 路径,可以设定为网页链接 */
39 path?: string;
40 /**
41 * 当此节点被选中的时候也会选中 parentKeys 的节点
42 *
43 * @name 自定义父节点
44 */
45 parentKeys?: string[];
46 /** @name 隐藏自己,并且将子节点提升到与自己平级 */
47 flatMenu?: boolean;
48 /** @name 指定外链打开形式,同a标签 */
49 target?: string;
50 /**
51 * menuItem 的 tooltip 显示的路径
52 */
53 tooltip?: string;
54 [key: string]: any;
55};
56export type Route = Omit<MenuDataItem, 'routes'> & {
57 children?: Route[];
58};
59export type WithFalse<T> = T | false;
60export type RouterTypes = {
61 computedMatch?: match<any>;
62 route?: Route;
63 location: {
64 pathname?: string;
65 };
66};
67export type MessageDescriptor = {
68 id: any;
69 description?: string;
70 defaultMessage?: string;
71};