ofi*_*dev 0 reactjs material-ui
我正在使用材质UI进行反应,我在阵列中有40张动态卡,当我渲染它们时,我希望连续3张卡,并且将所有卡放在一列中。我正在使用此卡:https : //codesandbox.io/s/r084q99q34
小智 16
也许你可以使用 Flexbox ?我遇到了同样的问题,由于 FlexBox 槽材料 ui,我解决了它。另外,请务必使用优于或等于 4 的材料核心版本。希望它有所帮助!
import React from 'react'
import { makeStyles } from '@material-ui/core/styles'
import {
Grid,
Card,
CardContent,
Typography,
CardHeader
} from '@material-ui/core/'
const useStyles = makeStyles(theme => ({
root: {
flexGrow: 1,
padding: theme.spacing(2)
}
}))
export default function AltCard() {
const classes = useStyles()
const data = [
{ quarter: 1, earnings: 13000 },
{ quarter: 2, earnings: 16500 },
{ quarter: 3, earnings: 14250 },
{ quarter: 4, earnings: 19000 }
]
return (
<div className={classes.root}>
<Grid
container
spacing={2}
direction="row"
justify="flex-start"
alignItems="flex-start"
>
{data.map(elem => (
<Grid item xs={12} sm={6} md={3} key={data.indexOf(elem)}>
<Card>
<CardHeader
title={`quarter : ${elem.quarter}`}
subheader={`earnings : ${elem.earnings}`}
/>
<CardContent>
<Typography variant="h5" gutterBottom>
Hello World
</Typography>
</CardContent>
</Card>
</Grid>
))}
</Grid>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
Material UI 提供GridList和GridListTile组件。这让你可以很好地配置它。
网格允许您定义列和单元格。Atile占用一个插槽,它会不断将它们放入列中,并在需要时自动溢出它们。您可以在官方文档中阅读更多内容并查看他们的示例以获取灵感。
let nums = Array.from(Array(40).keys());
render(
<GridList cols={3}>
{nums.map(n => {
return (
<GridListTile key={n}>
<Demo key={n} num={n} />
</GridListTile>
);
})}
</GridList>,
rootElement
);
Run Code Online (Sandbox Code Playgroud)
查看分叉沙箱:https://codesandbox.io/s/5yjpp339w4
如果由于某种原因内置组件不适合您的需求或者网格仍然让您感到困惑,请查看它们的交互式布局示例
您可以为此使用Grid组件,例如
<Grid container spacing={24}>
<Grid item md={3}>
<Demo />
</Grid>
<Grid item md={3}>
<Demo />
</Grid>
<Grid item md={3}>
<Demo />
</Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)
https://codesandbox.io/s/rzmz5jnom
| 归档时间: |
|
| 查看次数: |
10249 次 |
| 最近记录: |