///
import { ReactNode, Component, ComponentType } from 'react';
import { LoadingProps } from '../loading';
import CommonProps from '../util';
interface HTMLAttributesWeak extends React.HTMLAttributes {
title?: any
}
export interface ListProps extends React.HTMLAttributes, CommonProps {
/**
* 列表头部
*/
header?: ReactNode,
/**
* 列表尾部
*/
footer?: ReactNode,
/**
* 列表尺寸
*/
size?: 'medium' | 'small',
/**
* 是否显示分割线
*/
divider?: boolean,
/**
* children
*/
children?: ReactNode;
dataSource?: any[];
/**
* 当使用 dataSource 时,可以用 renderItem 自定义渲染列表项
* @param {Any} current 当前遍历的项
* @param {Number} index 当前遍历的项的索引
*/
renderItem?: (current: any, index: number) => any;
loading?: boolean;
/**
* 自定义 Loading 组件
* 请务必透传 props, 使用方式: loadingComponent={props => }
*/
loadingComponent?: (props: LoadingProps) => ReactNode;
emptyContent?: ReactNode;
}
export interface ListItemProps extends HTMLAttributesWeak, CommonProps {
/**
* 列表元素的标题
*/
title?: ReactNode,
/**
* 列表元素的描述内容
*/
description?: ReactNode,
/**
* 列表元素的头像 / 图标 / 图片内容
*/
media?: ReactNode,
/**
* 额外内容
*/
extra?: ReactNode,
}
export default class List extends Component {
static Item: ComponentType;
}