材质UI抽屉溢出导致正文滚动条

Set*_*can 8 canvas reactjs material-ui

我正在使用带有画布的app bar抽屉下的剪辑作为主要内容.我在抽屉中有三张可折叠的卡片,当默认情况下都设置为打开时,它会在主体上显示一个垂直滚动条,在html元素下方显示一个带有body元素的空白区域.如果你关闭所有三张卡片,滚动就会消失.如果重新打开卡片,则不会显示滚动条.只有在打开所有三张卡的页面加载时才会出现此问题.

我们的短期解决方案是只打开两张卡片加载页面,但我想要注意即使有两个打开,抽屉内容也会延伸到窗口下方而没有滚动.抽屉的CSS也不应该是问题.其他人遇到过这个问题吗?

  drawerPaper: {
    position: 'relative',
    width: 400,
    overflowX: 'hidden',
    overflowY: 'hidden',
    '&:hover': {
      overflowY: 'auto',
    },
    '&::-webkit-scrollbar': {
      display: 'none',
    },
  },



   <MuiThemeProvider theme={this.state.useDarkTheme ? darkTheme : lightTheme}>
    <div className={classes.root}>
      <AppBar position="absolute" className={classes.appBar}>
        <Toolbar>
          <div className={classes.flex}>
            <Typography className={classes.headerTextColor} variant="title">
              Title
            </Typography>
            {sealedBy}
          </div>
          <HeaderTools />
          <Tooltip id="toggle-icon" title="Toggle light/dark theme">
            <IconButton className={classes.headerTextColor} onClick={this.toggleTheme}>
              <BrightnessMediumIcon />
            </IconButton>
          </Tooltip>
        </Toolbar>
        {spinner}
      </AppBar>
      <Drawer
        variant="permanent"
        classes={{
          paper: classes.drawerPaper,
        }}
      >
        <div className={classes.fixedWidth}>
          <div className={classes.toolbar} />
          <DocumentTools />
          <SealingTools />
          <AnnotationTools />
        </div>
      </Drawer>
      <main className={classes.content}>
        <div className={classes.toolbar} />
        <DrawingCanvas />
      </main>
    </div>
  </MuiThemeProvider>
Run Code Online (Sandbox Code Playgroud)

dvv*_*tms 5

您需要height: 100%在某些容器组件上添加css属性,并且还drawerPaper需要添加样式。

我在这里设置了它,可以正常工作,但可能取决于容器组件:

drawerPaper: {
    width: 250,
    overflow: "auto",
    height: "100%",
    [theme.breakpoints.up("md")]: {
      overflow: "auto",
      width: drawerWidth,
      position: "relative",
      height: "100%"
    }
  }
Run Code Online (Sandbox Code Playgroud)