@@ -14,6 +14,7 @@ import {ViewPropTypes} from './Util'
1414import DefaultHeader from "./DefaultHeader" ;
1515import PropTypes from 'prop-types' ;
1616import processColor from 'react-native/Libraries/StyleSheet/processColor' ;
17+ import deprecatedPropType from 'react-native/Libraries/Utilities/deprecatedPropType'
1718
1819const SPModule = Platform . OS === 'android' ? NativeModules . SpinnerStyleModule : { } ;
1920
@@ -64,7 +65,10 @@ class SmartRefreshControl extends Component {
6465 * @return {* }
6566 */
6667 renderHeader = ( ) => {
67- const { HeaderComponent} = this . props ;
68+ const { HeaderComponent, renderHeader} = this . props ;
69+ if ( renderHeader ) {
70+ return React . isValidElement ( renderHeader ) ?renderHeader :renderHeader ( ) ;
71+ }
6872 if ( HeaderComponent ) {
6973 return HeaderComponent ;
7074 }
@@ -141,7 +145,11 @@ SmartRefreshControl.propTypes = {
141145 onReleaseToRefresh :PropTypes . func ,
142146 onHeaderReleased :PropTypes . func ,
143147 enableRefresh : PropTypes . bool , //是否启用下拉刷新功能
144- HeaderComponent :PropTypes . object ,
148+ HeaderComponent :deprecatedPropType ( PropTypes . object , 'Use the `renderHeader` prop instead.' ) ,
149+ renderHeader :PropTypes . oneOfType ( [
150+ PropTypes . func ,
151+ PropTypes . element ,
152+ ] ) ,
145153 headerHeight :PropTypes . number ,
146154 overScrollBounce :PropTypes . bool , //是否使用越界回弹
147155 overScrollDrag :PropTypes . bool , //是否使用越界拖动,类似IOS样式
0 commit comments