Merge pull request #15727 from ant-design/list-type

List type
This commit is contained in:
偏右 2019-03-29 10:20:06 +08:00 committed by GitHub
commit c2782b9581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -31,11 +31,11 @@ export type ListSize = 'small' | 'default' | 'large';
export type ListItemLayout = 'horizontal' | 'vertical';
export interface ListProps {
export interface ListProps<T> {
bordered?: boolean;
className?: string;
children?: React.ReactNode;
dataSource: any;
dataSource: T[];
extra?: React.ReactNode;
grid?: ListGridType;
id?: string;
@ -45,7 +45,7 @@ export interface ListProps {
pagination?: PaginationConfig | false;
prefixCls?: string;
rowKey?: any;
renderItem: any;
renderItem: (item: T, index: number) => React.ReactNode;
size?: ListSize;
split?: boolean;
header?: React.ReactNode;
@ -57,7 +57,7 @@ export interface ListLocale {
emptyText: React.ReactNode | (() => React.ReactNode);
}
export default class List extends React.Component<ListProps> {
export default class List<T> extends React.Component<ListProps<T>> {
static Item: typeof Item = Item;
static childContextTypes = {
@ -70,7 +70,7 @@ export default class List extends React.Component<ListProps> {
bordered: false,
split: true,
loading: false,
pagination: false as ListProps['pagination'],
pagination: false as ListProps<any>['pagination'],
};
state = {