我正在构建一个使用其官方网站上的Material UI卡组件的应用程序。但是,在实现代码后,我尝试向s IconButton
标签添加src属性,但是它抱怨说这不是有效的属性。我的最终目标是,当用户单击播放按钮图标时,它还会通过链接播放所需的歌曲。我尝试弄乱一些npm软件包,但没有找到一个简单易用但仍然具有我想要的设计风格的运气。
组件:
import React from 'react';
import { makeStyles, useTheme } from '@material-ui/core/styles';
import Card from '@material-ui/core/Card';
import CardContent from '@material-ui/core/CardContent';
import CardMedia from '@material-ui/core/CardMedia';
import IconButton from '@material-ui/core/IconButton';
import Typography from '@material-ui/core/Typography';
import SkipPreviousIcon from '@material-ui/icons/SkipPrevious';
import PlayArrowIcon from '@material-ui/icons/PlayArrow';
import SkipNextIcon from '@material-ui/icons/SkipNext';
const useStyles = makeStyles((theme) => ({
root: {
display: 'flex',
},
details: {
display: 'flex',
flexDirection: 'column',
},
content: {
flex: '1 0 auto',
},
cover: {
width: 151,
},
controls: {
display: 'flex',
alignItems: 'center',
paddingLeft: theme.spacing(1),
paddingBottom: theme.spacing(1),
},
playIcon: {
height: 38,
width: 38,
},
}));
export default function MediaControlCard() {
const classes = useStyles();
const theme = useTheme();
return (
<Card className={classes.root}>
<div className={classes.details}>
<CardContent className={classes.content}>
<Typography component="h5" variant="h5">
Live From Space
</Typography>
<Typography variant="subtitle1" color="textSecondary">
Mac Miller
</Typography>
</CardContent>
<div className={classes.controls}>
<IconButton aria-label="previous">
{theme.direction === 'rtl' ? <SkipNextIcon /> : <SkipPreviousIcon />}
</IconButton>
<IconButton aria-label="play/pause">
<PlayArrowIcon className={classes.playIcon} />
</IconButton>
<IconButton aria-label="next">
{theme.direction === 'rtl' ? <SkipPreviousIcon /> : <SkipNextIcon />}
</IconButton>
</div>
</div>
<CardMedia
className={classes.cover}
image="/static/images/cards/live-from-space.jpg"
title="Live from space album cover"
/>
</Card>
);
}