reactjs - 为 Material-UI 下拉菜单动态设置高度?
问题描述
我正在使用自定义弹出框样式在我的 React 项目中使用 Material-UI 创建一个超级菜单。样式如下所示:
root: {
marginTop: theme.spacing(1.5),
[theme.breakpoints.down('sm')]: {
display: 'none',
},
},
popoverPaper: {
width: '90%',
height: '80%',
maxHeight: 'unset',
left: '5% !important',
},
paper: {
padding: theme.spacing(2),
textAlign: 'center',
color: theme.palette.text.secondary,
},
然后我将此自定义 CSS 应用到我的Menu
组件,如下所示:
<Menu
id="customized-menu"
className={classes.root}
anchorEl={blogMenuAnchorEl}
anchorOrigin={{ vertical: 'bottom' }}
transformOrigin={{ vertical: 'top' }}
getContentAnchorEl={null}
open={blogMenu}
onClose={closeBlogDropDown}
PopoverClasses={{ paper: classes.popoverPaper }}
>
这按预期工作。但是,我不想硬编码height属性并希望它根据它包含的元素数量来扩展/收缩。我尝试取消height: 80%
,但这会在我的下拉菜单中引入一个垂直滚动条。有什么办法可以做到这一点?我想完整地显示内容Menu
,而不引入滚动条。
解决方案
将 PopoverPaper 高度更改为“最大内容”,应该这样做。
popoverPaper: {
width: '90%',
height: 'max-content', //change here
maxHeight: 'unset',
left: '5% !important',
},
推荐阅读
- javascript - Axios 没有在 xhr 浏览器中显示标题
- javascript - React hook 问题:为什么这段代码恰好渲染了 3 次?
- swift - 如何根据不断更新的状态触发一次通知
- javascript - WebAudioAPI decodeAudioData() 在 iOS 14 Safari 上给出空错误
- go - Bigquery 时间戳无效
- java - 从 valueof 枚举类返回默认值
- javascript - Babel 类型转换 - 在运算符周围添加空间。如何绕过?
- assembly - 我在理解 ARM Assembly 中的 ED 堆栈时遇到问题
- c - Linux shell 分配。Execvp 无法执行命令
- javascript - Javascript for 循环只创建一个孩子