【发布时间】:2022-11-14 07:30:52
【问题描述】:
我在 next.js 项目中使用 TextField 和 MenuItem 组件。
我在 TextField 中传递“选择”道具。这使得文本字段在内部使用Select 组件。
我的问题是:单击后下拉菜单在屏幕上跳跃(下拉菜单在屏幕左上角出现 1 秒左右,最终移动到选择字段下方)。
这是我的代码:
<div>
<TextField
focused
sx={{ m: 0.5, width: 130 }}
select
id="birthdayD"
name="birthdayD"
label="Geburtstag"
type="Geburtstag"
SelectProps={{
MenuProps: {
sx: { maxHeight: 200 },
},
variant: "menu",
getContentAnchorEl: null,
}}
>
{day.map((option) => (
<MenuItem key={option.value} value={option.value}>
{option.label}
</MenuItem>
))}
</TextField>
</div>
Here's 一篇关于为什么我应该使用 variant: "menu", getContentAnchorEl: null 的好帖子,但就我而言,问题没有解决。
【问题讨论】:
-
我认为您还应该将
variant和getContentAnchorEl传递给MenuProps而不是SelectProps因为variant: "menu"不能在 Select 组件上使用。 -
谢谢,我也试过了。现在我收到错误“警告:React 无法识别 DOM 元素上的
getContentAnchorEl属性。如果您故意希望它作为自定义属性出现在 DOM 中,请将其拼写为小写getcontentanchorel。如果您不小心通过了它从父组件中移除,从 DOM 元素中移除。” -
如果您在文档中搜索,
getContentAnchorEl似乎根本不是 MUI 组件的属性。你确实有一个anchorEl属性 -
...但即使是小写的问题仍然存在。
标签: reactjs next.js material-ui