我在Material v4中有这样的代码,它们工作得非常完美:
<Button
aria-expanded={optionsExpanded}
onClick={() => dispatch(toggleOptionsExpanded())}
endIcon={
<ExpandMoreIcon
className={clsx(classes.expand, {
[classes.expandOpen]: optionsExpanded,
})}
/>
}
>
Options
</Button>
const useStyles = makeStyles((theme) => ({
expand: {
transform: "rotate(0deg)",
transition: theme.transitions.create("transform", {
duration: theme.transitions.duration.shortest,
}),
},
expandOpen: {
transform: "rotate(180deg)",
},
}));箭头会像这样旋转:

然而,我似乎无法使用Material的v5来复制这一点。我试过使用sx道具,有条件的呈现,但它不动。
发布于 2022-01-10 16:10:29
这应该是你要找的:
<Button
aria-expanded={optionsExpanded}
onClick={() => dispatch(toggleOptionsExpanded())}
endIcon={
<ExpandMoreIcon
sx={[
{
transform: 'rotate(0deg)',
transition: (theme) => theme.transitions.create('all', {
duration: theme.transitions.duration.shortest,
})
},
optionsExpanded && {
transform: 'rotate(180deg)'
}
]}
/>
}
>
Options
</Button>https://stackoverflow.com/questions/68815265
复制相似问题