【发布时间】:2020-04-30 14:31:52
【问题描述】:
在 Material-UI 的文档中,Grid: white-space: nowrap; 部分有一个用codesandbox 包裹的文本示例。
在此示例中,我将const message ="" 替换为没有空格的长文本:
const message ="AsuperLongTextWithNoSpaceItIsVeryAnnoyingIWantToWrapThisSentence"
结果:
如您所见,消息超出了网格。 我希望消息换行。
我尝试像这样添加style={{'overflowWrap': 'break-word'}}:
<Paper className={classes.paper}>
<Grid container wrap="nowrap" spacing={2}>
<Grid item>
<Avatar>W</Avatar>
</Grid>
<Grid item xs>
<Typography style={{'overflowWrap': 'break-word'}}>{message}</Typography> {/* style added */}
</Grid>
</Grid>
</Paper>
结果:
如您所见,它更好,但文字也超出了网格。
如何在不超过网格的情况下正确执行此操作?
编辑 (1)
我在一个网格中有一个网格:
<Grid container spacing={2}>
<Grid item>
<Avatar>
<ImageIcon />
</Avatar>
</Grid>
<Grid item xs={12} sm container >
<Grid item xs container direction="column" spacing={2} wrap="nowrap">
<Grid item xs>
<Typography gutterBottom variant="subtitle1">
{`${props.comment.username}`}
</Typography>
</Grid>
<Grid item xs zeroMinWidth>
<Typography gutterBottom variant="subtitle1" style={{'overflowWrap': 'break-word'}}>
{props.comment.comment}
</Typography>
</Grid>
<Grid item container>
<Grid item>
<IconButton onClick={handleMenuClick}>
<ThumbUp />
</IconButton>
</Grid>
</Grid>
</Grid>
</Grid>
<Grid item>
<IconButton onClick={handleMenuClick}>
<MoreVertIcon />
</IconButton>
</Grid>
</Grid>
我的container 有wrap="nowrap",我的项目有zeroMinWidth,但结果是:
而不是这个:
编辑 (2)
我找到了解决办法:
必须为每个<Grid item>写zeroMinWidth!
【问题讨论】:
标签: reactjs grid material-ui