如何动画更改网格项目大小 Material UI

car*_*scc 4 javascript css reactjs material-ui next.js

我有一个带有 React 和 Material UI 的项目。

我需要一些有关如何为网格项目大小更改设置动画的指导。该项目默认为 sm={3},当用户悬停该项目时,它会更改为 sm={6}。这是通过偶数触发器和状态变量完成的。我的问题是如何为此创建过渡/动画?

我尝试将其添加到项目 css 中,但没有奏效。

transition: theme.transitions.create("width", {
    easing: theme.transitions.easing.easeIn,
    duration: theme.transitions.duration.sta
})
Run Code Online (Sandbox Code Playgroud)

Ton*_*ony 6

我知道这个问题已经三个月了,但我遇到了同样的问题,即根据状态中的变量在 React 和 Material UI 中对网格大小的变化进行动画处理。当侧边栏扩展和缩回时,我正在为主页内容进行过渡以平滑调整大小。我在 Grid 元素上使用了内联样式。

我的代码:

<Grid container>
  <Grid 
    item xs={this.state.expandMainContent === true ? 1 : 2}
    style={{transition: theme.transitions.create("all", {
          easing: theme.transitions.easing.sharp, 
          duration: theme.transitions.duration.leavingScreen,
  })}} >
    <Sidebar />
  </Grid>
  <Grid 
    item xs={this.state.expandMainContent === true ? 11 : 10} 
    style={{transition: theme.transitions.create("all", {
          easing: theme.transitions.easing.sharp, 
          duration: theme.transitions.duration.leavingScreen
   })}}>
     <MainContent />
  </Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

我在点击时做了我的,而你的在悬停,但它应该仍然工作相同。