繁体   English   中英

React.js材质UI-具有Flex显示功能的CardActionArea-子元素不使用全角

[英]React.js Material UI - CardActionArea with flex display - children elements don't use full width

直截了当-我已经尝试使用CardActionArea组件的flexDirection: 'column'display样式参数从block替换为flex 这样做的原因是要确保CardContent对于连续的每张Card具有相同的高度-这是我实现的。 但是...更改display后, CardHeaderCardContent无法实现width: '100%' 下图应阐明我的意思。

在此处输入图片说明 以下是相关代码

渲染

<Card className={classes.card}>
  <CardActionArea
    className={classes.cardActionArea}
    onClick={this.loadGroup}
  >
    <CardHeader
      avatar={
        <FolderIcon />
      }
      classes={{
        root: classes.header,
        title: classes.headerTitle,
        subheader: classes.headerSubheader
      }}
      title={this.state.group.name}
      subheader={this.renderModuleCount()}
    />
    <CardContent className={classes.content}>
      {this.renderContent()}
    </CardContent>
  </CardActionArea>
  <CardActions className={classes.actions}>
    <IconButton onClick={this.showDialog}>
      <DeleteIcon />
    </IconButton>
  </CardActions>
</Card>

样式

card: {
  width: '30%',
  margin: theme.spacing(1),
  display: 'flex',
  flexDirection: 'column',
},
cardActionArea: {
  flexGrow: 1,
  display: 'flex',
  flexDirection: 'column'
},
header: {
  backgroundColor: theme.palette.secondary.main,
  color: theme.palette.secondary.contrastText,
  width: '100%',
},
headerTitle: {
  color: theme.palette.secondary.contrastText,
},
headerSubheader: {
  color: theme.palette.secondary.contrastText,
},
content: {
  flexGrow: 1,
},

我正在寻找如何解决这个问题。 我在ButtonBaseCardActionArea MUI组件上找不到任何paddingmargin

最终我找到了解决方案。 样式类cardActionArea需要使用以下内容:

cardActionArea: {
  flexGrow: 1,
  flexDirection: 'column',
  alignItems: 'stretch',
},

结果: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM