Ответ 1
Update for v3 — 29 of August 2018
Определенный компонент CardActionArea был добавлен, чтобы охватить именно этот случай в версии 3.0.0 пользовательского интерфейса материала.
Пожалуйста, используйте следующее решение, только если вы застряли с v1.
Вероятно, вы хотите добиться действия карты (см. спецификацию) в верхней части карты.
Библиотека "Компоненты материалов для веб-сайта" содержит это в качестве первого примера использования компонента карты.
Вы можете легко воспроизвести это точное поведение, составив компоненты MUI Card*
с мощным компонентом ButtonBase
. Работающий пример можно найти здесь в CodeSandbox: https://codesandbox.io/s/q9wnzv7684.
Соответствующий код:
import Card from '@material-ui/core/Card';
import CardActions from '@material-ui/core/CardActions';
import CardContent from '@material-ui/core/CardContent';
import CardMedia from '@material-ui/core/CardMedia';
import Typography from '@material-ui/core/Typography';
import ButtonBase from '@material-ui/core/ButtonBase';
const styles = {
cardAction: {
display: 'block',
textAlign: 'initial'
}
}
function MyCard(props) {
return (
<Card>
<ButtonBase
className={props.classes.cardAction}
onClick={event => { ... }}
>
<CardMedia ... />
<CardContent>...</CardContent>
</ButtonBase>
</Card>
);
}
export default withStyles(styles)(MyCard)
Также я настоятельно рекомендую оставить компонент CardActions
вне ButtonBase
.