gpt4 book ai didi

reactjs - 抽屉覆盖了material-ui中的AppBar

转载 作者:行者123 更新时间:2023-12-03 14:13:05 24 4
gpt4 key购买 nike

我希望我的抽屉组件在 AppBar 组件下打开,而不是覆盖它。但对于这个新版本的 @Material-Ui/core 来说,这一点从未被接受过。

知道我该怎么做吗?

目前,它以覆盖AppBar的方式打开。这不是我想要的,我希望抽屉在 appBar 组件下打开,就像任何普通应用程序一样。

这是我的代码:

const styles = theme => ({


root: {
flexGrow: 1,
},
flex: {
flex: 1,
},
menuButton: {
marginLeft: -12,
marginRight: 20,
},
list: {
width: 250,
},

});


class ClippedDrawer extends React.Component {
constructor(props){
super(props);
this.state={
open: false,
}
}

toggleDrawer(){
this.setState({
open: !this.state.open,
});
};

render(){
const { classes } = this.props;
return(
<div className={classes.root}>
<AppBar position="relative" className={classes.appBar}>
<Toolbar>
<IconButton className={classes.menuButton} onClick={()=>this.toggleDrawer()} color="inherit" aria-label="Menu">
<MenuIcon />
</IconButton>
<Typography variant="title" color="inherit" className={classes.flex}>
Title
</Typography>
<Button color="inherit">Login</Button>
</Toolbar>
</AppBar>
<Drawer className={classes.drawer} open={this.state.open} onClose={()=>this.toggleDrawer()}>
<div
tabIndex={0}
role="button"
onClick={()=>this.toggleDrawer()}
onKeyDown={()=>this.toggleDrawer()}
>
<div className={classes.list}>
<List>ola</List>
<Divider />
<List>xau</List>
</div>
</div>
</Drawer>
</div>
);
}
}


ClippedDrawer.propTypes = {
classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(ClippedDrawer);

最佳答案

将 AppBar 的位置设置为相对位置:

appBar: {
...
position: 'relative',
zIndex: theme.zIndex.drawer + 1,
},

如果它不起作用,那么您可能还需要将 zIndex 显式设置为 1400。

关于reactjs - 抽屉覆盖了material-ui中的AppBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51066461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com