问题
I use React js.I want to use Grid, but I can't in this particular case. I have a component called CardComponent.js The problem is that I use the map function. I don't know how to use Grid.
import React from "react";
const rows = [
{
id: 7,
email: "michael.lawson@reqres.in",
first_name: "Michael",
last_name: "Lawson"
},
{
id: 8,
email: "lindsay.ferguson@reqres.in",
first_name: "Lindsay",
last_name: "Ferguson"
},
{
id: 9,
email: "michael.lawson@reqres.in",
first_name: "Michael",
last_name: "Lawson"
},
{
id: 10,
email: "lindsay.ferguson@reqres.in",
first_name: "Lindsay",
last_name: "Ferguson"
}
];
const ElevatedCardHeader = () =>
rows.map(row => (
<Card className={"MuiElevatedCard--01"}>
<CardHeader
className={"MuiCardHeader-root"}
title={row.id}
subheader={row.email}
classes={{
title: "MuiCardHeader-title",
subheader: "MuiCardHeader-subheader"
}}
/>
<CardContent className={"MuiCardContent-root"}>
<Grid container spacing={2}>
<Grid item xs={12} sm={6}>
<Grid container>
<Grid container justify="space-evenly">
<label>first_name:</label>
<label>{row.first_name}</label>
</Grid>
</Grid>
<Divider light />
</Grid>
<Grid item xs={12} sm={6}>
<Grid container>
<Grid container justify="space-evenly">
<label>last_name:</label>
<label>{row.last_name}</label>
</Grid>
</Grid>
<Divider light />
</Grid>
</Grid>
</CardContent>
</Card>
));
export default ElevatedCardHeader;
How can I display 2 cards per row using Grid?Currently, 1 card is displayed in each row. Here you can see my Codesandbox Thank you in advance for your help and guidance
回答1:
You are missing the grid container
on parent level:
<Grid container>
{rows.map(row => (
...
))}
</Grid>
WORKING DEMO :
回答2:
const ElevatedCardHeader = () => {
return(
<Grid container spacing={2}>
{
rows.map(row => (
<Grid item xs={6}>
<Card className={"MuiElevatedCard--01"}>
<CardHeader
className={"MuiCardHeader-root"}
title={row.id}
subheader={row.email}
classes={{
title: "MuiCardHeader-title",
subheader: "MuiCardHeader-subheader"
}}
/>
<CardContent className={"MuiCardContent-root"}>
<Grid container spacing={2}>
<Grid item xs={12} sm={6}>
<Grid container>
<Grid container justify="space-evenly">
<label>first_name:</label>
<label>{row.first_name}</label>
</Grid>
</Grid>
<Divider light />
</Grid>
<Grid item xs={12} sm={6}>
<Grid container>
<Grid container justify="space-evenly">
<label>last_name:</label>
<label>{row.last_name}</label>
</Grid>
</Grid>
<Divider light />
</Grid>
</Grid>
</CardContent>
</Card>
</Grid>
))
}
</Grid>
)
}
https://p8og0.csb.app/
来源:https://stackoverflow.com/questions/61849456/how-to-use-grid-inside-the-map-in-react-material-ui