import React, { ReactNode } from 'react'; import { List, Avatar, Typography, Button, Space } from '@arco-design/web-react'; import useLocale from '../../utils/useLocale'; export interface MessageItemData { id: string; title: string; subTitle: string; avatar: string; content: string; time: string; status: number; } export type MessageListType = MessageItemData[]; interface MessageListProps { data: MessageItemData[]; unReadData: MessageItemData[]; avatar?: string | ReactNode; onItemClick?: (item: MessageItemData, index: number) => void; onAllBtnClick?: (unReadData: MessageItemData[], data: MessageItemData[]) => void; } function MessageList(props: MessageListProps) { const locale = useLocale(); const { data, unReadData, avatar: defaultAvatar } = props; function onItemClick(item: MessageItemData, index: number) { if (item.status) return; props.onItemClick && props.onItemClick(item, index); } function onAllBtnClick() { props.onAllBtnClick && props.onAllBtnClick(unReadData, data); } return ( ) : null } > {data.map((item, index) => (
{ onItemClick(item, index); }} > ) : ( defaultAvatar ) } title={ {item.title} {item.subTitle} } description={
{item.content}
{item.time}
} />
))}
); } export default MessageList;