gpt4 book ai didi

reactjs - 有没有办法在 React 中使用 Material UI 实现水平时间线?

转载 作者:行者123 更新时间:2023-12-03 23:05:11 24 4
gpt4 key购买 nike

我正在尝试使用 React 中的 Material UI 实现水平时间线。在他们的文档中,我只能找到垂直时间线演示,我找不到任何可以直接更改对齐方式的 Prop 。有没有办法解决这个问题?
我想实现类似下图的东西,但水平。
enter image description here

最佳答案

您可以覆盖时间线样式并执行以下操作:

const useStyles = makeStyles({
timeline: {
transform: "rotate(90deg)"
},
timelineContentContainer: {
textAlign: "left"
},
timelineContent: {
display: "inline-block",
transform: "rotate(-90deg)",
textAlign: "center",
minWidth: 50
},
timelineIcon: {
transform: "rotate(-90deg)"
}
});

function App() {
const classes = useStyles();

return (
<Timeline className={classes.timeline} align="alternate">
<TimelineItem>
<TimelineSeparator>
<CheckCircleOutlineIcon
color="primary"
className={classes.timelineIcon}
/>
<TimelineConnector />
</TimelineSeparator>
<TimelineContent className={classes.timelineContentContainer}>
<Paper className={classes.timelineContent}>
<Typography>Eat</Typography>
</Paper>
</TimelineContent>
</TimelineItem>
<TimelineItem>
<TimelineSeparator>
<PauseCircleFilledIcon
color="primary"
className={classes.timelineIcon}
/>
<TimelineConnector />
</TimelineSeparator>
<TimelineContent className={classes.timelineContentContainer}>
<Paper className={classes.timelineContent}>
<Typography>Code</Typography>
</Paper>
</TimelineContent>
</TimelineItem>
<TimelineItem>
<TimelineSeparator>
<CachedIcon color="primary" className={classes.timelineIcon} />
<TimelineConnector />
</TimelineSeparator>
<TimelineContent className={classes.timelineContentContainer}>
<Paper className={classes.timelineContent}>
<Typography>Sleep</Typography>
</Paper>
</TimelineContent>
</TimelineItem>
<TimelineItem>
<TimelineSeparator>
<CachedIcon color="primary" className={classes.timelineIcon} />
<TimelineConnector />
</TimelineSeparator>
<TimelineContent className={classes.timelineContentContainer}>
<Paper className={classes.timelineContent}>
<Typography>Repeat</Typography>
</Paper>
</TimelineContent>
</TimelineItem>
<TimelineItem>
<TimelineSeparator>
<ErrorIcon color="primary" className={classes.timelineIcon} />
</TimelineSeparator>
<TimelineContent className={classes.timelineContentContainer}>
<Paper className={classes.timelineContent}>
<Typography>Sleep</Typography>
</Paper>
</TimelineContent>
</TimelineItem>
</Timeline>
);
}
如果标签不在同一标高上,请调整 minWidth .

结果如下所示:
timeline
使用这种方法会让人感到奇怪的一件事是,由于旋转,视觉上最左边的元素是时间轴中的最后一个元素。

关于reactjs - 有没有办法在 React 中使用 Material UI 实现水平时间线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63175060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com