来自Material-UI的React Modal:<div>标签上prop`className`的值无效

时间:2019-12-09 15:14:39

标签: reactjs material-ui

正如标题所示,我一直在获取这个className无效值,我认为这是我使用makeStyles的方式。

由于我更习惯使用“类”,并且我在此页上的所有其他材料都在类中,因此我也尝试将代码从https://material-ui.com/components/modal/转换为类,最后得到:

const modalStyle = {
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
  };

const paperStyle = makeStyles(theme => ({
    backgroundColor: theme.palette.background.paper,
    border: '2px solid #000',
    boxShadow: theme.shadows[5],
    padding: theme.spacing(2, 4, 3),
}));

还有jsx代码:

       <Modal
          aria-labelledby="transition-modal-title"
          aria-describedby="transition-modal-description"
          className={modalStyle}
          open={this.state.open}
          onClose={this.handleClose}
          closeAfterTransition
          BackdropComponent={Backdrop}
          BackdropProps={{
            timeout: 500,
          }}
        >
          <Fade in={this.state.open}>
            <div className={paperStyle}>  <----- ISSUE HERE
            <ItemsTable EBELN_={this.state.clickedEBELN} />
            </div>
          </Fade>
        </Modal>

编辑:

试图通过:

const paperStyle = makeStyles(theme =>
  createStyles({
    paper:{
      backgroundColor: theme.palette.background.paper,
      border: '2px solid #000',
      boxShadow: theme.shadows[5],
      padding: theme.spacing(2, 4, 3),
    }
}));

然后将className调用为:paperStyle.paper,错误消失了,但是根本没有使用样式。

0 个答案:

没有答案