en-US
Use DForm.Group to group forms. When nesting FormGroup, DForm.Group needs to correspond to the corresponding structure.
zh-CN
通过 DForm.Group 对表单进行分组,嵌套 FormGroup 时,需要 DForm.Group 对应相应结构。
import { DForm, FormControl, FormGroup, Validators, useForm, DInput } from '@react-devui/ui';
export default function Demo() {
const [form, updateForm] = useForm(
() =>
new FormGroup({
group1: new FormGroup({
username: new FormControl('', Validators.required),
}),
group2: new FormGroup({
username: new FormControl('', Validators.required),
group3: new FormGroup({
username: new FormControl('', Validators.required),
}),
}),
})
);
return (
<DForm dUpdate={updateForm} dLabelWidth={120}>
<DForm.Group dFormGroup={form}>
<DForm.Group dFormGroup={form.get('group1')} dTitle={<h5>Basic Info</h5>}>
<DForm.Item dFormControls={{ username: 'Please input your username!' }} dLabel="Username">
{({ username }) => <DInput dFormControl={username} dPlaceholder="Username" />}
</DForm.Item>
</DForm.Group>
<DForm.Group dFormGroup={form.get('group2')} dTitle={<h5>Nested group</h5>}>
<DForm.Item dFormControls={{ username: 'Please input your username!' }} dLabel="Username">
{({ username }) => <DInput dFormControl={username} dPlaceholder="Username" />}
</DForm.Item>
<DForm.Group dFormGroup={form.get(['group2', 'group3'])}>
<DForm.Item dFormControls={{ username: 'Please input your username!' }} dLabel="Username">
{({ username }) => <DInput dFormControl={username} dPlaceholder="Username" />}
</DForm.Item>
</DForm.Group>
</DForm.Group>
</DForm.Group>
</DForm>
);
}