React Material-ui Autocomplete:清除搜索字段时获取“TypeError:无法读取null的属性'id'”

斯泰尔基兹

我想使用自动完成字段为所选项目打开相应的模式。它工作正常,但如果我单击字段的“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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章