<WrapperField>
This component simply renders its children. Why would you want to use such a dumb component? To combine several fields in a single cell (in a <Datagrid>
), in a single row (in a <SimpleShowLayout>
) or in a group of inputs (in a <SimpleFormConfigurable>
) .
Usage
<WrapperField>
allows to define the label
and sort field for a combination of fields:
import { List, Datagrid, WrapperField, TextField } from 'react-admin';
const BookList = () => (
<List>
<Datagrid>
<TextField source="title" />
<WrapperField label="author" sortBy="author.last_name">
<TextField source="author_first_name" />
<TextField source="author_last_name" />
</WrapperField>
</Datagrid>
</List>
);
import { Edit, WrapperField, TextInput, SimpleFormConfigurable } from 'react-admin';
import { Stack } from '@mui/material';
const PostEdit = () => (
<Edit>
<SimpleFormConfigurable>
<TextInput source="title"/>
<WrapperField source="author">
<Stack>
<TextInput source="author_first_name"/>
<TextInput source="author_last_name"/>
</Stack>
</WrapperField>
</SimpleFormConfigurable>
</Edit>
);
Tip: If you just want to combine two fields in a string, check the <FunctionField>
component instead.
Props
<WrapperField>
accepts the common field props.