Material-ui <Autocomplete /> getOptionLabel - 传递空字符串作为值

新手上路,请多包涵

我正在使用 material-ui 自动完成功能。我将一些状态数组传递给它的属性选项。我面临的问题是 getOptionLabel:

>  Material-UI: The `getOptionLabel` method of Autocomplete returned undefined instead of a string for [""].
>
> ```

我有 2 个组件。孩子一个是:

const StateSelect = (props) => { const classes = useStyles(); const handlePick = (e, v) => { props.setState(v); }; return ( (option ? option.name : “”)} onChange={handlePick} value={props.state} renderInput={(params) => ( )} /> ); };


在父组件中,我调用了这个子组件:

setSelectedState(state)} />


在父对象中,我有控制 StateSelect 值的 React 挂钩:

const [selectedState, setSelectedState] = useState([“”]);

”`

因此,当我最初将 selectedState 作为 prop 传递给 StateSelect 时,它是 [“] 并且我收到此错误消息。我如何将空值作为初始值传递而不出现此错误?

我上传了我的代码的简单版本:

https://codesandbox.io/s/smoosh-field-j2o1p?file=/src/inputStates/input.js

原文由 Borislav Stefanov 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 978
1 个回答

我得到了同样的错误。而且,以下对我有用。

 getOptionLabel={(option) => option.name || ""}

原文由 Vijayanand Settin 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题