Autocomplete 自动完成组件可以有不同的值和选项类型吗?

Autocomplete 自动完成组件可以有不同的值和选项类型吗?,autocomplete,material-ui,Autocomplete,Material Ui,根据文档,组件在选项和实际值之间没有区别 我有一个带有ID的对象的选项列表。当我选择一个选项时,我希望得到它的id作为一个值,而不是对象本身。另外,当我设置Autocomplete的值时,我只想传入id 可能吗 {/*值应为数字(id)*/} /> 更新:选项标签应保持可配置状态Ciao,不幸的是,onChange事件上的值返回所选的选项之一。因此,不可能只返回元素的一个属性 您唯一能做的就是获取值.id: <Autocomplete options={[ { id:

根据文档,组件在选项和实际值之间没有区别

我有一个带有ID的对象的选项列表。当我选择一个选项时,我希望得到它的id作为一个值,而不是对象本身。另外,当我设置Autocomplete的值时,我只想传入id

可能吗

{/*值应为数字(id)*/}
/>

更新:选项标签应保持可配置状态

Ciao,不幸的是,
onChange
事件上的值返回所选的
选项之一。因此,不可能只返回元素的一个属性

您唯一能做的就是获取
值.id

<Autocomplete
   options={[
      { id: 1, label: "foo" },
      { id: 2, label: "bar" }
   ]}
   getOptionLabel={(option) => option.label}    // this to show label on Autocomplete
   getOptionSelected={(option, value) => option.id === value.id}   // this to compare option on id value
   onChange={(event, value) => console.log(value.id)}  // here access to id property of value object
   ...
/>

一个codesandbox示例。

感谢您的建议,在本例中,您会将id视为选项标签,而不是实际的标签属性。我澄清了我的想法question@amankkg我更新了我的答案(和代码沙盒)。但我想你已经知道我写了什么:)