Material UI 根据条件自动完成将单选更改为多选

Material UI Autocomplete changing single to multiSelect based on condition

我遇到了 material UI 自动完成从单个 select 更改为多个 select 的问题,基于条件抛出错误 无法读取 属性 'length' 为 null

这是一个演示这个的codesandbox: https://codesandbox.io/s/material-demo-forked-q0038?file=/demo.js
在这里,我创建了有条件地从单个更改为多个的场景

我知道我可以使用另一个自动完成组件,如果它是多的,但如果有任何解决方案可以在单个组件中完成,那将会很有帮助

您可以将 key 属性设置为 ismulti:

<Autocomplete
        multiple={ismulti}
        id="tags-standard"
        key={ismulti} // here
        options={top100Films}
        getOptionLabel={(option) => option.title}
        renderInput={(params) => (
          <TextField
            {...params}
            variant="outlined"
            label="Multiple values"
            placeholder="Favorites"
          />
        )}
      />