mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-29 13:47:02 +08:00
4cdf37bedb
* init form * first demo * add normal login * add style * webit * support nest errors * beauti form errors * use onReset * modal demo * add list demo * match key of errors logic * date demo * customize component * moving style * add status style * without form create * add demos * add inline style * clean up legacy * fix drawer demo * mention * fix edit-row * editable table cell * update mentions demo * fix some test case * fix upload test * fix lint * part of doc * fix ts * doc update * rm react 15 * rm config * enhance test coverage * clean up * fix FormItem context pass logic * add more demo * en to build * update demo * update demo & snapshot * more doc * update list doc * update doc * update demo to display condition render * update snapshot * add provider doc * support configProvider * more doc about validateMessages * more description * more and more doc * fix typo * en doc * Form.List doc * m v3 -> v4 * add skip
34 lines
764 B
TypeScript
34 lines
764 B
TypeScript
import * as React from 'react';
|
|
import warning from '../_util/warning';
|
|
import { List } from 'rc-field-form';
|
|
|
|
interface FieldData {
|
|
name: number;
|
|
key: number;
|
|
fieldKey: number;
|
|
}
|
|
|
|
interface Operation {
|
|
add: () => void;
|
|
remove: (index: number) => void;
|
|
}
|
|
|
|
interface FormListProps {
|
|
name: string | number | (string | number)[];
|
|
children: (fields: FieldData[], operation: Operation) => React.ReactNode;
|
|
}
|
|
|
|
const FormList: React.FC<FormListProps> = ({ children, ...props }) => {
|
|
warning(!!props.name, 'Form.List', 'Miss `name` prop.');
|
|
|
|
return (
|
|
<List {...props}>
|
|
{(fields, operation) => {
|
|
return children(fields.map(field => ({ ...field, fieldKey: field.key })), operation);
|
|
}}
|
|
</List>
|
|
);
|
|
};
|
|
|
|
export default FormList;
|