cgreact-layui
Version:
CGReact基于Layui样式的组件库
46 lines (41 loc) • 1.37 kB
text/typescript
/** PageTab 数据结构定义*/
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
}//配置数据类型定义
interface PageTabState extends CGReactPageTabState {}
/* PageTab 数据类型*/
type CGReactPageTabProp = {
data?: CGReactPageTabState
}&CGReactComponentProp;//Prop是保持和Comp一致
interface PageTabProp extends CGReactPageTabProp,CGReactLayoutState {}
/**回调函数数据类型*/
interface TabTitle
{
key: string,//索引号
icon: string, //tab页图标
label: string, //tab页标签
select: boolean,//是否选中
close: boolean //是否渲染关闭按钮
}
interface TabPage
{
key: string,//索引号
select: boolean,//是否选中
content: React.ReactElement<HTMLIFrameElement>, //tab页内容
}
interface PageTabConfig
{
title: Array<TabTitle>
crumb: Array<string>,//当前页面的面包屑配置
pages: Array<TabPage> //所有页面配置,包含首页
}