首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Material立即触发

Material立即触发
EN

Stack Overflow用户
提问于 2020-03-20 19:46:07
回答 1查看 710关注 0票数 1

因此,似乎一旦我点击打开我的抽屉,点击离开侦听器同时启动并立即关闭。这是因为我点击一个菜单图标来打开它,但是那个菜单图标也在抽屉外面,所以它就会立即关闭。对如何解决这个问题有什么想法吗?

代码语言:javascript
复制
const ResponsiveMenu = ({setMenu, open, closeMenu}) => {
const classes = useStyles();
return (
    <ClickAwayListener onClickAway={closeMenu}>
    <Drawer open={open}>
        <IconButton className={classes.menuCloseIcon} onClick={setMenu}>
            <CloseIcon/>
        </IconButton>
        <img src="vectoredLogo.png" className={classes.menuLogo}/>
        <Divider/>
        <List>
            {['Home', 'About', 'Feedback', 'Login', 'Projects'].map((text, index) => {
                if (text === "About") {
                    return (
                        <ListItem className={classes.expansionHolder}>
                            <ExpansionPanel className={classes.expansionMenu}>
                                <ExpansionPanelSummary
                                    expandIcon={<ExpandMoreIcon/>}
                                    aria-controls="panel1a-content"
                                    className={classes.expansionLink}
                                >
                                    <Typography>About</Typography>
                                </ExpansionPanelSummary>
                                <ExpansionPanelDetails>
                                    <Typography>
                                        {['a', 'b', 'c'].map(text => {
                                            return (
                                                <ListItem button key={text} component="a"
                                                          href="https://www.google.com">
                                                    <ListItemText className={classes.menuLink} primary={text}/>
                                                </ListItem>
                                            );
                                        })}
                                    </Typography>
                                </ExpansionPanelDetails>
                            </ExpansionPanel>
                        </ListItem>
                    );
                } else {
                    return (
                        <ListItem button key={text} component="a" href="https://www.google.com">
                            <ListItemText className={classes.menuLink} primary={text}/>
                        </ListItem>
                    )
                }
            })}
        </List>
    </Drawer>
    </ClickAwayListener>
)
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-20 20:37:24

您不需要ClickAwayListener来关闭抽屉,请使用modalProps:

代码语言:javascript
复制
  <Drawer ModalProps={{ onBackdropClick: closeMenu }}>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60780720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档