reactjs - 设置 Material UI Autocomplete 的默认值
问题描述
我正在尝试将自动完成的初始值设置为“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
在设置自动完成的初始值方面的任何帮助都会非常有用。
解决方案
当您options
在自动完成中使用 have 时,您应该使用您的选项包含的相同值。
在您的示例中,每个选项都是一个带有value
and的对象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
推荐阅读
- terraform - 有没有办法从外部输入变量值到 terraform 主文件?
- javascript - 在子函数中使用父函数
- python-3.x - 将字典作为参数传递给python中的csv写入函数
- windows - 不在域中的用户的 Windows SID 和 ObjectGUID
- android - 将 Firestore 与移动原生应用程序(React Native)一起使用时的逆向工程风险
- magento - 无法在 Magento 2 中隐藏运输方式
- android - 在 AndroidManifest 中动态为权限名称添加前缀以避免重复冲突
- mysql - 是否可以根据别名的结果运行 MySQL 查询?
- java - 如何定义方法 compareTo()?
- ssas - MDX 查询运行了一个多小时