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

如何将对象数组映射为MUI Select组件的MenuItem选项

修复MUI Select映射选项的问题

你的代码里有两个关键错误,导致选项渲染失败:

  1. map参数顺序搞反了:map((index, e) => {}) 里的第一个参数是遍历到的元素对象,第二个才是索引。你把顺序弄反了,导致后续的key、value都用错了。
  2. MenuItem的value和显示内容没取对字段:你直接用了e(实际是索引),但应该从每个choice对象里取id作为value,title作为显示文本。

修正后的代码如下:

<TextField value={ID || ""} select>
    {fieldChoices?.choices?.map((item, index) => {
        return (
            <MenuItem key={index} value={item.id}>
                {item.title}
            </MenuItem>
        );
    })}
</TextField>

额外优化建议

如果item.id是唯一值,建议用它作为key,比索引更稳定:

<MenuItem key={item.id} value={item.id}>
    {item.title}
</MenuItem>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:00:48