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

Material-UI Autocomplete组件setState赋值后不显示问题求助

解决Material-UI Autocomplete设置值后不显示的问题

针对你遇到的问题,核心问题出在代码的两处错误,修复后即可正常显示选中值:

  • 修复renderOption的错误写法
    你当前的renderOption返回了一个空函数,这会导致Autocomplete无法正确渲染选项,也会影响选中值的展示逻辑。正确的写法应该返回一个React节点,比如:

    renderOption={(props, option) => (
      <li {...props}>{option.label}</li>
    )}
    
  • 补充必填的renderInput配置
    Autocomplete组件必须搭配renderInput来渲染输入框,这是组件正常工作的必要条件,示例配置如下:

    renderInput={(params) => (
      <TextField {...params} label="Select country" variant="outlined" />
    )}
    
  • 确保selectedValue的正确性
    确认你的selectedValue初始值设为巴巴多斯的code("BB"),这样countries.find(item => item.code === selectedValue)才能正确匹配到对应的国家对象。

完整的修正后代码示例:

<Autocomplete
  id="country-select-demo"
  sx={{ width: 300 }}
  options={countries}
  value={countries.find((item) => item.code === selectedValue)}
  autoHighlight
  getOptionLabel={(option) => option.label}
  renderOption={(props, option) => (
    <li {...props}>{option.label}</li>
  )}
  renderInput={(params) => (
    <TextField {...params} label="Select country" variant="outlined" />
  )}
/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:12:39