设置 Material UI Autocomplete 的默认值

Hor*_*ade 1 reactjs material-ui

我试图将自动完成的初始值设置为“ACCU-SEAL 35-532 Bag Sealer”,但出现以下错误:

Material-UI:自动完成的 'getOptionLabel' 方法返回 undefined 而不是“ACCU-SEAL 35-532 Bag Sealer”的字符串。

所以我尝试将以下内容添加到我的自动完成中:

getOptionSelected={(option, value) => option.label === value}
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误。

我在这里有一个代码示例:https : //codesandbox.io/s/material-demo-fv075?file=/formElementsEdit.jsx

任何设置自动完成初始值的帮助都会非常有用。

Dek*_*kel 5

当您options在自动完成中使用 have时,您应该使用您的选项包含的相同值。

在您的示例中,每个选项都是一个带有value和的对象label。由于您labelgetOptionLabel函数中使用它- 您应该至少label在您传递的对象中使用它。

选项1:

const value = "ACCU-SEAL 35-532 Bag Sealer";
...
<Autocomplete
    ...
    value={{label: value}}
Run Code Online (Sandbox Code Playgroud)

选项#2:

const value = "ACCU-SEAL 35-532 Bag Sealer";
...
<Autocomplete
    ...
    value={{label: value, value: 1}}
Run Code Online (Sandbox Code Playgroud)

选项#3:...

在上述任何一个选项中 - 属性的值value应该是一个至少有一个键的对象 -label键。

根据您的代码检查以下示例:https : //codesandbox.io/s/material-demo-zzfh7?file=/formElementsEdit.jsx