[英]Alert over Modal
我试图在模式顶部显示此警报,但无法使其正常工作。 相反,它显示在模态后面。
html:
<alert class="alertmessage" ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">
<small>{{alert.msg}}</small>
</alert>
CSS:
.alertmessage {
position: fixed;
top: 50%;
left: 50%;
width: 300px;
margin-left: -150px;
margin-top: -100px;
text-align: center;
z-index: 99999 !important;
outline: 9999px solid rgba(0,0,0,0.8);
border-radius: 0px;
}
模式 css 是这样的:
element.style {
z-index: 1040;
display: block;
}
我错过了什么? 我想看到警报出现在模式顶部。
您可以尝试将警报代码放在模式div本身的div中,并使其保持隐藏状态,然后在需要时触发警报。 如果警报位于模式内部,则它肯定会高于模式。
我让它工作的方法是通过将 Alert 组件放置在 index.js 文件中来确保 Alert 组件高于一切,并确保将 Alert 放置在 Portal 组件中。
import React from "react"; import Alert from "@mui/material/Alert"; import { Portal } from "@mui/material"; const portalStyle = { display: "grid", gridAutoFlow: "row", alignItems: "start", alignContent: "start", justifyContent: "end", justifyItems: "end", gap: "10px", width: "100%", height: "100%", position: "absolute", top: "50%", left: "50%", transform: "translate(-50%, -50%)", p: 4, borderRadius: "2px", outline: "none", pointerEvents: "none", userSelect: "none", }; const alertStyle = { width: "100%", maxWidth: "650px", pointerEvents: "none", userSelect: "none", }; const AlertModal = () => { return ( <Portal> <div style={portalStyle} > <Alert sx={alertStyle} severity="info" variant="filled" > {alert.message} </Alert> </div> </Portal> ); }; export default AlertModal;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.