Как выбрать значения, которые уже выбраны в интерфейсе автозаполнения материала? - PullRequest
0 голосов
/ 27 апреля 2020

Я использую автозаполнение пользовательского интерфейса, и застрял в этой проблеме. В документе здесь говорится, что «значение должно иметь равенство ссылок с опцией, чтобы быть выбранным». И я сделал именно то, что он сказал, но похоже, что он не работает.

  • Вот мои варианты enter image description here
  • Вот мое значение enter image description here
  • В настоящее время enter image description here
  • Ожидается enter image description here

    <Autocomplete
     disableCloseOnSelect={true}
     multiple
     options={techList}
     getOptionLabel={(options) => options.techName}
     value={newValueDialog}
     onChange={(e, tech) => {
      this.handleChangeValueDialog(tech);
     }}
     popupIcon={false}
     closeIcon={false}
     renderTags={(value, getTagProps) =>
     value.map((option, index) => (
      <Chip
        color="primary"
        variant="outlined"
        label={option.techName}
        {...getTagProps({ index })}
        deleteIcon={<ClearIcon />}
      />
     ))
     }
    

    renderInput = {(params) => ()} />

1 Ответ

1 голос
/ 28 апреля 2020

Поскольку вы используете пользовательский объект, обеспечьте равенство с собственной реализацией.

https://material-ui.com/api/autocomplete/#autocomplete -api

getOptionSelected

Вы должны реализовать метод "getOptionSelected"

    getOptionSelected={(option, value) =>
      option.techName === value.techName
    }

https://codesandbox.io/s/material-demo-vh5ns

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...