更改material-ui对话框显示的动画

Posted

技术标签:

【中文标题】更改material-ui对话框显示的动画【英文标题】:Change animation of material-ui dialog show 【发布时间】:2017-03-27 03:55:27 【问题描述】:

是否可以更改 material-ui 中对话框的显示动画以使用 css 做出反应?我在 css 方面并不先进,但我知道存在诸如转换和转换之类的东西。

【问题讨论】:

有可能,只需停用默认动画并添加您的自定义。可以通过 jQuery/javascript 或者 CSS transformtransition 添加基础动画,没错。 【参考方案1】:

2021 年 12 月更新:

下面的答案是为material-ui v1的早期版本编写的,并且是古老的历史。使用 material-ui 版本 5,概念基本相同,当前的 Dialog Demo 显示了如何实现这一点。

导入您想要的转换,但您需要使用React.forwardRef,因为转换预计会收到ref(更多信息请参见React Docs):

import Slide from '@mui/material/Slide';

const Transition = React.forwardRef(function Transition(props, ref) 
  return <Slide direction="up" ref=ref ...props />;
);

然后:

 <Dialog
   open=open
   TransitionComponent=Transition
   keepMounted
   onClose=handleClose
   aria-describedby="alert-dialog-slide-description"
 >

Original Material-UI V1 答案:

Dialog 组件公开了一个过渡道具,可用于覆盖默认值。 Dialog demo 中有一个示例(标记为 Alert Dialog 中的幻灯片),它使用了他们提供的幻灯片过渡:

import Slide from 'material-ui/transitions/Slide';

然后:

<Dialog open=this.state.open transition=Slide onRequestClose=this.handleRequestClose>

以下是它们提供的过渡组件:

Collapse Fade Grow Slide

如果这些都不能满足您的目的,您可以将它们用作创建自己的过渡组件的起点。

【讨论】:

以上是关于更改material-ui对话框显示的动画的主要内容,如果未能解决你的问题,请参考以下文章

对话框中的材料 UI 更改日期字段样式

React Material-Ui(0.20.0) 对话框未显示预期结果?

在 material-ui mobile-date-time-picker 中更改 AM PM 标签文本

带有动画更改的自定义进度对话框的大小

Material-ui卡片翻转动画

Material-UI 的 Dialog 如何允许在对话框后面进行交互?