import Avatar from '../avatar'; import ConfigProvider from '../config-provider'; import React, { Component } from 'react'; import cls from 'classnames'; import { List as NextList } from '@alifd/next'; import { ListItemProps as NextListItemProps } from '@alifd/next/types/list'; import { ListProps as NextListProps } from '@alifd/next/types/list'; interface ListProps extends Omit { size?: 'small' | 'medium' | 'large'; } interface ListItemAddProps { avatarImg?: string; updateTime?: string; } interface ListItemProps extends NextListItemProps, ListItemAddProps{} class ListItem extends Component { render() { const { prefix = 'next-', title, media, className, avatarImg, updateTime, children, ...otherProps } = this.props; if (avatarImg) { return ( } title = {title} className = {cls(className, { [`${prefix}only-content-item`]: !title && !media, [`${prefix}content-avatar`]: avatarImg, [`${prefix}update-time`]: updateTime, })} {...otherProps} > {children}
{updateTime}
); } return ( {children}
{updateTime}
); } } class List extends Component { static Item = ConfigProvider.config(ListItem); render() { const { prefix = 'next-', size = 'medium', className } = this.props; return ( ); } } export default ConfigProvider.config(List);