设置Material UI自动完成的默认值

时间:2020-04-24 22:32:14

标签: reactjs material-ui

我试图将“自动完成”的初始值设置为“ 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

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

1 个答案:

答案 0 :(得分:3)

在自动完成功能中使用options时,应使用与选项中包含的值相同的值。

在您的示例中,每个选项都是带有valuelabel的对象。由于您在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