|
|
|
@ -88,34 +88,32 @@ export default class NoticeIcon extends Component<NoticeIconProps> { |
|
|
|
if (!children) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
const panes = React.Children.map( |
|
|
|
children, |
|
|
|
(child: React.ReactElement<NoticeIconTabProps>): React.ReactNode => { |
|
|
|
if (!child) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
const { list, title, count, tabKey, showClear, showViewMore } = child.props; |
|
|
|
const len = list && list.length ? list.length : 0; |
|
|
|
const msgCount = count || count === 0 ? count : len; |
|
|
|
const tabTitle: string = msgCount > 0 ? `${title} (${msgCount})` : title; |
|
|
|
return ( |
|
|
|
<TabPane tab={tabTitle} key={title}> |
|
|
|
<NoticeList |
|
|
|
clearText={clearText} |
|
|
|
viewMoreText={viewMoreText} |
|
|
|
data={list} |
|
|
|
onClear={(): void => this.onClear(title, tabKey)} |
|
|
|
onClick={(item): void => this.onItemClick(item, child.props)} |
|
|
|
onViewMore={(event): void => this.onViewMore(child.props, event)} |
|
|
|
showClear={showClear} |
|
|
|
showViewMore={showViewMore} |
|
|
|
title={title} |
|
|
|
{...child.props} |
|
|
|
/> |
|
|
|
</TabPane> |
|
|
|
); |
|
|
|
}, |
|
|
|
); |
|
|
|
const panes: ReactNodeArray = []; |
|
|
|
React.Children.forEach(children, (child: React.ReactElement<NoticeIconTabProps>): void => { |
|
|
|
if (!child) { |
|
|
|
return; |
|
|
|
} |
|
|
|
const { list, title, count, tabKey, showClear, showViewMore } = child.props; |
|
|
|
const len = list && list.length ? list.length : 0; |
|
|
|
const msgCount = count || count === 0 ? count : len; |
|
|
|
const tabTitle: string = msgCount > 0 ? `${title} (${msgCount})` : title; |
|
|
|
panes.push( |
|
|
|
<TabPane tab={tabTitle} key={tabKey}> |
|
|
|
<NoticeList |
|
|
|
clearText={clearText} |
|
|
|
viewMoreText={viewMoreText} |
|
|
|
data={list} |
|
|
|
onClear={(): void => this.onClear(title, tabKey)} |
|
|
|
onClick={(item): void => this.onItemClick(item, child.props)} |
|
|
|
onViewMore={(event): void => this.onViewMore(child.props, event)} |
|
|
|
showClear={showClear} |
|
|
|
showViewMore={showViewMore} |
|
|
|
title={title} |
|
|
|
{...child.props} |
|
|
|
/> |
|
|
|
</TabPane>, |
|
|
|
); |
|
|
|
}); |
|
|
|
return ( |
|
|
|
<> |
|
|
|
<Spin spinning={loading} delay={300}> |
|
|
|
|