我想使用自动完成字段为所选项目打开相应的模式。它工作正常,但如果我单击字段的“X”按钮或只是使用退格键删除条目,我会收到我提到的错误消息。
这是我的自动完成组件:
<Autocomplete
{...defaultProps}
clearOnEscape
style={{ width: 400, margin: 'auto' }}
onChange={(e, value) => handleOpen(value)}
renderInput={params => (
<TextField {...params} placeholder='Search for beer...' />
)}
/>
这是处理模态的函数(我使用的是材质 ui 模态):
const handleOpen = value => {
if (value.id) {
setIsClicked(beers.find(x => x.id === value.id));
} else {
return;
}
setOpen(true);
};
null
这个组件似乎有价值。(根据它的docs值是一个泛型类型)
你可以做
if (value && value.id) {}
或者像这样的防守回归
if (!value) {
return
}
setIsClicked(beers.find(x => x.id === value.id));
setOpen(true);
为了安全
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句