MUI:提供给自动完成的值无效。没有一个选项与 `""` 匹配

问题描述 投票:0回答:2

当在自动完成组件的输入中输入值时,我收到此警告,无法删除... 这就是我的输入的样子

 <Autocomplete
            id="cboAdresse"
            sx={{ width: 100 + "%", fontFamily: "Poppins Bold" }}
            getOptionLabel={(option) =>
              typeof option === "string" ? option : option.label
            }
            filterOptions={(x) => {
              return x;
            }}
            options={lstadresse}
            isOptionEqualToValue={(option, value) =>
              value.label === option.label
            }
            autoComplete
            includeInputInList
            filterSelectedOptions
            value={adresse}
            noOptionsText="Aucune adresse trouvée"
            onChange={(event, newValue) => {
              setLstAdresse(
                newValue.name ? [newValue.name, ...lstadresse] : lstadresse
              );
              setAdresse(newValue.name);
              if (newValue.name != "") {
                setVille(newValue.city);
                setCodePostal(newValue.postcode);
              }
            }}
            onInputChange={(event, newInputValue) => {
              setInputRue(newInputValue);
            }}
            renderInput={(params) => (
              <div
                ref={params.InputProps.ref}
                className="login-block__input form_input_white"
              >
                <input
                  type="text"
                  name="adresse"
                  placeholder="Adresse"
                  {...params.inputProps}
                />
              </div>
            )}
      />

我们可以看到我集成了IsOptionEqualToValue参数,但没有解决问题。在我的研究过程中,其他人也遇到过这个问题,并用我用 IsOptionEqualToValue 编写的内容解决了它。如果有人有解决方案,我很感兴趣。预先感谢。

javascript reactjs material-ui autocomplete
2个回答
6
投票

在 mui v5 中使用这个

isOptionEqualToValue={(option, value) => option.value === value.value}

0
投票

我找到的唯一解决方案是在您的选项中添加一个空字符串。

© www.soinside.com 2019 - 2024. All rights reserved.