cgreact-core
Version:
未发表!CGReact前端Web研发框架核心包
46 lines (41 loc) • 1.52 kB
text/typescript
/** PageTab 数据结构定义*/
import {CompProp} from "./cgreact-type-component";
import {LayoutState} from "./cgreact-type-layout";
type CGReactTabPage = {
icon?: string, //tab页图标
label?: string, //tab页标签
crumb?: string[], //tab页面包屑
content?: string | React.ReactElement //tab页内容
};
type CGReactPageConfig = { [key in string]: CGReactTabPage }
type CGReactPageTabState = {
select?: string, //当前选择的页面键,默认home
pages?: {
home?: CGReactTabPage, //首页需要特殊配置
} & CGReactPageConfig
}//配置数据类型定义
export interface PageTabState extends CGReactPageTabState {}
/* PageTab 数据类型*/
type CGReactPageTabProp = {
data?: CGReactPageTabState
} & CompProp;//Prop是保持和Comp一致
export interface PageTabProp extends CGReactPageTabProp, LayoutState {}
/**回调函数数据类型*/
export interface TabTitle {
key: string,//索引号
icon: string, //tab页图标
label: string, //tab页标签
select: boolean,//是否选中
close: boolean //是否渲染关闭按钮
}//标签配置
export interface TabPage {
key: string,//索引号
select: boolean,//是否选中
content: React.ReactElement<HTMLIFrameElement>, //tab页内容
}//内容配置
export interface PageTabConfig
{
title: Array<TabTitle>
crumb: Array<string>,//当前页面的面包屑配置
pages: Array<TabPage> //所有页面配置,包含首页
}