为什么Material-UI Select组件无法显示任何已配置的选项?
问题排查与解决方案
按优先级依次检查以下配置即可解决:
- 确认组件导入正确
漏导MenuItem会直接导致选项不渲染,请检查导入语句是否正确:import { Select, MenuItem } from '@mui/material'; - 检查自定义样式冲突
你给Select绑定的自定义类名SelectMultiple如果设置了overflow: hidden、固定高度等属性,会遮挡下拉弹出的菜单层,导致选项不可见,请调整对应样式规则。 - 修复弹层定位/挂载问题
MUI的Select下拉菜单默认挂载到body根节点,可能出现z-index层级不够被其他元素遮挡、定位偏移的问题,可添加MenuProps配置禁用portal,将菜单挂载到父元素下,也可以手动指定层级,同时添加displayEmpty属性兼容空值初始状态:const [escuela, setEscuela] = useState(""); const handleChange2 = (event) => { setEscuela(event.target.value); }; <Select className="SelectMultiple" value={escuela} label="Seleccione Escuela..." onChange={handleChange2} MenuProps={{ disablePortal: true, sx: { zIndex: 9999 } }} displayEmpty > <MenuItem value={"Academia Internacional de Boquete"}>Academia Internacional de Boquete</MenuItem> <MenuItem value={"Academia Internacional de David"}>Academia Internacional de David</MenuItem> </Select> - 规范属性写法
原有代码中属性与等号之间的多余空格(例如value = {escuela})可能导致异常解析,建议统一写成value={escuela}的标准格式。
内容的提问来源于stack exchange,提问作者React Enjoyer
相关产品推荐
相关产品推荐

