在输入文本之前隐藏 Material-UI 自动完成弹出窗口

Hide Material-UI Autocomplete popup until text is typed

我有一个有效的 Material-UI Autocomplete 实现,但是目前当您单击 select 一个项目时,它会显示一个可单击的下拉列表,其中包含所有项目除了文本搜索。

我希望在先输入内容之前不显示下拉选项。

<Autocomplete
  id="combo-box"
  options={listofitems}
  value={itemid}
  onChange={viewitemlist}
  renderInput={(params) => <TextField {...params}
    label="Item Id"
    variant="outlined" />}
/>

您可以控制 open 状态并告诉 Autocomplete 只有在用户输入内容后才打开弹出窗口。

const [open, setOpen] = React.useState(false);

return (
  <Autocomplete
    open={open}
    onInputChange={(_, value) => {
      if (value.length === 0) {
        if (open) setOpen(false);
      } else {
        if (!open) setOpen(true);
      }
    }}
    onClose={() => setOpen(false)}
    {...}
  />
);

现场演示