Я пытаюсь создать подборщик людей, используя компоненты Office UI Fabric React.
Все отлично работает с двумя исключениями:
1 - мне нужно добавить задержку разрешения 3000, потому что яполучаю список моих людей от остальных API-звонков (с axios).Можно ли дождаться разрешения, пока я не заполню свое состояние реакции списком людей, возвращенным из API?
В тот момент, когда я начинаю получать людей, когда срабатывает onResolveSuggestions
, и я добавляю resolveDelay={3000}
, чтобы моё состояние peopleList
могло быть заполнено (я помещаю его в массив).Я пытался сделать это в onInputChange
, и я пробовал разные методы (например, await и прочее), но я делаю 2 вызова API.Один ищет пользователя (в определенной конечной точке), а другой назначает идентификатор этому пользователю (больше похоже на получение скрытого идентификатора).После второго вызова я создаю массив peopleList
, который фильтруется по onResolveSuggestions
.Без задержки сборщик людей пуст (если я повторно введу тот же поисковый ввод, он загружается, потому что он уже был добавлен в массив).
2 - С моим resolveDelay={3000}
он работает, и я могу добавитьлюди на поле, нажав на предложения.Моя проблема здесь в том, что после добавления их в поле я запускаю функцию onItemSelected
, которая создает новый массив currentSelectedItems
.Массив заполняется, и все хорошо .... НО ... я не могу найти способ удалить пользователя из массива.
В основном после добавления пользователя в поле (и вмассив), я могу нажать на X в окне выбора людей, но нет опоры, которая могла бы обрабатывать что-то вроде onItemRemoved
.У него есть другое имя?Есть ли обходной путь?Имейте в виду, что я не говорю о onRemoveSuggestion
- это только удаляет пользователя из списка предложений, а не после добавления его в поле.
Любой совет приветствуется, спасибо!