首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MUI sx属性中的动态样式?

MUI sx属性中的动态样式?
EN

Stack Overflow用户
提问于 2021-10-27 21:46:25
回答 1查看 638关注 0票数 0

可以在MUI sx属性中使用动态样式吗?如下所示:

代码语言:javascript
复制
<Box
  key={index}
  sx={{
    height: "100%",
    width: "100%",
    {index === imgIndex &&
    {"@keyframes fadeIn": {
        from: {
            opacity: 0,
        },
        to: {
            opacity: 1,
        },
        },
        "fade-in": {
        animation: "$fadeIn 2.5s",
        }}}
    }}
>
  {child}
</Box>

如果不是,有什么选项可以做这样的事情?

我的用例是,这是使用MUI4 (makeStyles)完成的旋转木马的重构,我正在迁移到MUI5 (不再使用makeStyles)

EN

回答 1

Stack Overflow用户

发布于 2021-10-27 22:17:26

您可以通过将条件放在属性本身而不是对象内部来执行此操作。

以下是如何在单击按钮时更改框的bgColor的示例

代码语言:javascript
复制
import Box from "@mui/material/Box";
import Button from "@mui/material/Button";

export default function BoxSx() {
  const [clicked, setClicked] = React.useState(false);

  const handleClick = () => {
    setClicked(!clicked);
  };

  return (
    <>
      <Button onClick={handleClick}>Change</Button>
      <Box
        sx={{
          width: 300,
          height: 300,
          bgcolor: clicked ? "primary.dark" : "secondary.light",
        }}
      />
    </>
  );
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69745830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档