1
- import { FunctionalComponent , VNodeChild , computed , unref } from 'vue' ;
1
+ import { computed , FunctionalComponent , unref , VNode , VNodeChild } from 'vue' ;
2
2
/* replace antd ts define */
3
3
import { TabPaneProps } from './interfaces/TabPane' ;
4
4
import { TabBarExtraContent , TabsProps } from './interfaces/Tabs' ;
5
5
import { PageHeaderProps } from './interfaces/PageHeader' ;
6
6
import { AffixProps } from './interfaces/Affix' ;
7
7
/* replace antd ts define end */
8
- import { useRouteContext , RouteContextProps } from '../RouteContext' ;
8
+ import { RouteContextProps , useRouteContext } from '../RouteContext' ;
9
9
import { getCustomRender } from '../utils' ;
10
10
import { withInstall } from 'ant-design-vue/es/_util/type' ;
11
11
import 'ant-design-vue/es/affix/style' ;
@@ -19,11 +19,11 @@ import Spin from 'ant-design-vue/es/spin';
19
19
import GridContent from '../GridContent' ;
20
20
import FooterToolbar from '../FooterToolbar' ;
21
21
import './index.less' ;
22
- import { WithFalse } from '../typings' ;
22
+ import { CustomRender , WithFalse } from '../typings' ;
23
23
24
24
export interface Tab {
25
25
key : string ;
26
- tab : string | VNodeChild | JSX . Element ;
26
+ tab : string | VNode | JSX . Element ;
27
27
}
28
28
29
29
export interface PageHeaderTabConfig {
@@ -59,14 +59,15 @@ export interface PageHeaderTabConfig {
59
59
}
60
60
61
61
export interface PageContainerProps extends PageHeaderTabConfig , Omit < PageHeaderProps , 'title' > {
62
- title ?: VNodeChild | JSX . Element | false ;
63
- content ?: VNodeChild | JSX . Element ;
64
- extraContent ?: VNodeChild | JSX . Element ;
65
62
prefixCls ?: string ;
66
- footer ?: WithFalse < VNodeChild | VNodeChild [ ] | JSX . Element > ;
63
+
64
+ title ?: WithFalse < VNodeChild | JSX . Element | string > ;
65
+ content ?: CustomRender ;
66
+ extraContent ?: CustomRender ;
67
+ footer ?: VNodeChild | JSX . Element ;
67
68
ghost ?: boolean ;
68
- header ?: PageHeaderProps | VNodeChild ;
69
- pageHeaderRender ?: ( props : PageContainerProps ) => VNodeChild | JSX . Element ;
69
+ header ?: PageHeaderProps | CustomRender ;
70
+ pageHeaderRender ?: ( props : PageContainerProps | Record < string , any > ) => VNode | JSX . Element ;
70
71
affixProps ?: AffixProps ;
71
72
loading ?: boolean ;
72
73
}
@@ -110,10 +111,10 @@ const renderFooter = (
110
111
} ;
111
112
112
113
const renderPageHeader = (
113
- content : VNodeChild | JSX . Element ,
114
- extraContent : VNodeChild | JSX . Element ,
114
+ content : CustomRender ,
115
+ extraContent : CustomRender ,
115
116
prefixedClassName : string ,
116
- ) : VNodeChild | JSX . Element => {
117
+ ) : VNode | JSX . Element | null => {
117
118
if ( ! content && ! extraContent ) {
118
119
return null ;
119
120
}
@@ -140,7 +141,7 @@ const renderPageHeader = (
140
141
const defaultPageHeaderRender = (
141
142
props : PageContainerProps ,
142
143
value : RouteContextProps & { prefixedClassName : string } ,
143
- ) : VNodeChild | JSX . Element => {
144
+ ) : VNode | JSX . Element => {
144
145
const {
145
146
title,
146
147
tabList,
0 commit comments