我试图将“自动完成”的初始值设置为“ ACCU-SEAL 35-532 Bag Sealer”,但出现以下错误:
Material-UI:“自动完成”的“ getOptionLabel”方法返回的是未定义的,而不是“ ACCU-SEAL 35-532 Bag Sealer”的字符串。
所以我尝试将以下内容添加到“自动完成”中:
getOptionSelected={(option, value) => option.label === value}
但是我遇到同样的错误。
我的代码示例如下:https://codesandbox.io/s/material-demo-fv075?file=/formElementsEdit.jsx
任何有关设置自动完成功能初始值的帮助都将非常有用。
答案 0 :(得分:3)
在自动完成功能中使用options
时,应使用与选项中包含的值相同的值。
在您的示例中,每个选项都是带有value
和label
的对象。由于您在label
函数中使用了getOptionLabel
-您应该在传递的对象中至少使用label
。
选项1:
const value = "ACCU-SEAL 35-532 Bag Sealer";
...
<Autocomplete
...
value={{label: value}}
选项2:
const value = "ACCU-SEAL 35-532 Bag Sealer";
...
<Autocomplete
...
value={{label: value, value: 1}}
选项3: ...
在上述任何选项中-属性value
的值都应该是带有至少一个键-label
键的对象。
根据您的代码检查以下示例:https://codesandbox.io/s/material-demo-zzfh7?file=/formElementsEdit.jsx