You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Material UI Autocomplete下拉框方向异常求助:横向显示而非纵向

Autocomplete下拉框横向展开而非纵向的解决方案

以下是针对该问题的几种排查和解决方向:

  • 检查全局样式冲突
    项目中的全局CSS(比如重置样式、自定义全局规则)可能意外修改了下拉列表的布局。比如全局给ul或li设置了display: flex且flex-direction: row,会导致Autocomplete的下拉列表横向排列。
    可以通过浏览器开发者工具查看.MuiAutocomplete-listbox元素的样式,找到被覆盖的属性。如果确认是全局样式导致,可通过局部样式覆盖:

    <Autocomplete
      disablePortal
      id="combo-box-demo"
      options={["mov1", "mov2", "movie3", "movie4", "movie5"]}
      sx={{ 
        width: 300,
        // 强制下拉列表纵向排列
        '& .MuiAutocomplete-listbox': {
          flexDirection: 'column',
          display: 'flex',
          flexWrap: 'nowrap',
          gap: 0
        }
      }}
      renderInput={(params) => <TextField {...params} label="Movie" />}
    />
    
  • 排查自定义主题配置
    若项目中自定义了MUI主题,检查是否在theme.components中修改了MuiAutocomplete或MuiListbox的默认样式,比如错误设置了flexDirection: 'row'。如果有,修正主题配置即可。

  • 尝试升级依赖版本
    虽然你使用的@mui/material@5.11.0属于稳定版本,但不排除特定版本的小bug。可以尝试升级到5.x系列的最新稳定版:

    npm update @mui/material @emotion/react @emotion/styled
    
  • 检查父元素布局影响
    Autocomplete的父容器如果设置了特殊的flex布局、overflow-x属性,可能会挤压下拉框的排列方向。检查父元素的CSS属性,比如是否存在display: flex且未明确flex-direction,或者overflow-x: auto等,调整父元素样式后再测试。

内容的提问来源于stack exchange,提问作者Zalox9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:05:19