【发布时间】:2020-04-26 10:58:22
【问题描述】:
在我的反应应用程序中使用 material-ui,有没有办法可以在打开对话框时更改位置?现在它总是居中。
提前致谢!
【问题讨论】:
标签: reactjs material-ui
在我的反应应用程序中使用 material-ui,有没有办法可以在打开对话框时更改位置?现在它总是居中。
提前致谢!
【问题讨论】:
标签: reactjs material-ui
您可以创建样式并将其传递给classes prop。以下是您如何做到这一点的示例。
import React from 'react';
import { makeStyles, Dialog } from '@material-ui/core';
const useStyles = makeStyles({
dialog: {
position: 'absolute',
left: 10,
top: 50
}
});
function Example() {
const classes = useStyles();
return (
<Dialog
classes={{
paper: classes.dialog
}}
/* rest of the props */
>
{/* content of the dialog */}
</Dialog>
);
}
【讨论】:
transform: "translate(-75%,-50%) !important"。
我想说不要使用position: absolute,它可能会破坏滚动行为。使用scroll='paper' 或scroll='body' 控制不同的位置
您可以使用以下代码通过两个自定义类始终将您的对话框与页面顶部对齐。
const useStyles = makeStyles({
topScrollPaper: {
alignItems: 'flex-start',
},
topPaperScrollBody: {
verticalAlign: 'top',
},
})
function SimpleDialog(props: SimpleDialogProps) {
const classes = useStyles()
return (
<Dialog
onClose={handleClose}
aria-labelledby="simple-dialog-title"
open={open}
scroll="paper"
classes={{
scrollPaper: classes.topScrollPaper,
paperScrollBody: classes.topPaperScrollBody,
}}
></Dialog>
)
}
【讨论】: