我想为一个对象列表([{name: ", id: "]}])。
选择列表应该显示对象的名称和id,选择的值应该只显示名称。最重要的部分是,我想在onchange处理程序中返回带有id和名称的选定对象。
我基本上已经得到了我想要的解决方案,但是我无法摆脱"你提供了一个超出范围的值…&;警告。是否有办法解决这个问题,或者我应该忽略/禁用此警告?
组件的codesandbox示例在这里
之所以会发生这种情况,是因为您将MenuItem上的值设置为完整对象,而将值传递给Select,使其仅为字符串。将MenuItem更改为:
<MenuItem key={el.id} value={el.id}>
和Select to this:
<Select
value={entityForm.entity.id}
您还需要更新句柄表单代码,但这将处理该警告。
编辑更新答案,使用id而不是名称