51 |
52 |
53 | {label && (
54 |
65 | )}
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | {value?.map((item, itemIndex) =>
75 | Children.map(children, (child, childIndex) =>
76 | isValidElement(child)
77 | ? cloneElement(child, {
78 | key: `${itemIndex}-${childIndex}`,
79 | name: child.props.name?.replace('$', '' + itemIndex),
80 | ...itemProps,
81 | })
82 | : child
83 | )
84 | )}
85 |
86 |
87 | );
88 | }
89 |
90 | export default connectField(ListField);
91 |
--------------------------------------------------------------------------------
/src/ListItemField.tsx:
--------------------------------------------------------------------------------
1 | import React, { ReactNode } from 'react';
2 | import { connectField } from 'uniforms';
3 |
4 | import AutoField from './AutoField';
5 | import ListDelField from './ListDelField';
6 |
7 | export type ListItemFieldProps = {
8 | children?: ReactNode;
9 | value?: unknown;
10 | };
11 |
12 | function ListItem({
13 | children =