React/Redux新手在这里。管理员休息创建表单 - 将firstName和lastName合并到第三个字段
我已经使用Admin On Rest实施了管理门户。在Create组件中,我有一个带有TextInput组件的Tabbed Form,用于各种表单域。这些包括名字,姓氏和用户名。当用户输入名字时,我需要从firstName和lastName的前4个字符组成用户名。为了访问firstName和lastName的字段值,我试图用一个redux-form来装饰Create组件,但无济于事。我显然不明白redux形式是如何工作的。如何在Admin On Rest中完成上述操作?这是我的创建组件之一:
export const HPCreate = (props, state) => (
<Create {...props}>
<TabbedForm validate={validateUserCreation}>
<FormTab label="Personal Details">
<TextInput source="userName" validate={[required, noSpace]} options={opts} autoComplete='off'/>
<TextInput validate={[required]} source="password" autoComplete='off' options={opts}/>
<TextInput label="First Name" validate={[required]} source="firstName" options={opts}/>
<TextInput label="Last Name" validate={[required]} source="lastName" options={opts}/>
<TextInput source="phone" validate={[required]} options={opts}/>
<TextInput source="email" validate={[required, email]} options={opts}/>
<TextInput source="address" options={opts}/>
<TextInput source="city" options={opts}/>
<TextInput source="state" options={opts}/>
<TextInput source="zip" validate={[required]} options={opts}/>
</FormTab>
<FormTab label="Account Details">
<ReferenceInput label="Job Title" source="jobTitle" reference="jobtitles" allowEmpty={true}
validation={{required: false}}>
<AutocompleteInput optionText="name" optionValue="name" options={autocompleteOptions}/>
</ReferenceInput>
<ReferenceInput label="Designation" source="designation" reference="designations" allowEmpty={true}
validation={{required: false}}>
<AutocompleteInput optionText="name" optionValue="name" options={autocompleteOptions}/>
</ReferenceInput>
<TextInput label="Employee ID" source="employeeId" options={opts}/>
<ReferenceInput label="Practice Type" source="practiceType" reference="practicetypes" allowEmpty={true}
validation={{required: false}}>
<AutocompleteInput optionText="name" optionValue="name" options={autocompleteOptions}/>
</ReferenceInput>
<ReferenceInput label="Primary Network *" source="primaryNetwork" reference="facilities"
allowEmpty={true} validate={[required]}>
<AutocompleteInput optionText="name" optionValue="name" options={autocompleteOptions} validate={[required]}/>
</ReferenceInput>
<ReferenceArrayInput label="Secondary Networks" source="secondaryNetwork" reference="facilities"
allowEmpty={true}>
<SelectArrayInput optionText="name" optionValue="name" options={opts}/>
</ReferenceArrayInput>
<SelectInput label="User Type" source="userType"
choices={[
{id: 'PATIENT', name: 'PATIENT'},
{id: 'PHYSICIAN', name: 'PHYSICIAN'},
{id: 'STAFF', name: 'STAFF'},
{id: 'FRONT DESK ADMIN', name: 'FRONT DESK ADMIN'},
{id: 'HOSPITAL ADMIN', name: 'HOSPITAL ADMIN'},
{id: 'HOSPITAL SUPERADMIN', name: 'HOSPITAL SUPERADMIN'},
{id: 'SALES TEAM', name: 'SALES TEAM'}
]}
options={opts}
validate={[required]}
/>
<DependentInput dependsOn="neverExpire" value={false}>
<DateInput source="expirationDate" options={opts}/>
</DependentInput>
<BooleanInput label="Never expire?" source="neverExpire" defaultValue={true}/>
</FormTab>
</TabbedForm>
</Create>
谢谢你的回答。在我可以测试你的测试之前,我已经找到了解决方案,但是我很感谢你的帮助。 –
顺便说一句,你也可以看看https://github.com/marmelab/aor-dependent-input/。可能有助于简化事情。 –