Невозможно загрузить параметры асинхронной реакции-выбора в React - PullRequest
0 голосов
/ 09 апреля 2019

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

filterClients(inputValue) {
let userService = new UserService();
var clientList = userService.getClientList(inputValue);
clientList.then(s => {
  console.log(Object.values(s.data)); // This works
  return {options: Object.values(s.data)};
}).catch(e => {
  console.log(e);
});}

promiseOptions (inputValue) {
if (inputValue.length >= 3) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(this.filterClients(inputValue));
    }, 1000);});
} else {
  return [];
}}

handleInputChange (newValue){
const inputValue = newValue.replace(/\W/g, '');
this.setState({ inputValue });
return inputValue;};

render() {
return (
  <React.Fragment>
    <AsyncSelect
      name="clientSelector"
      cacheOptions
      defaultOptions
      loadOptions={this.promiseOptions}
      onInputChange={this.handleInputChange}
    />
  </React.Fragment>
);  }

Я вижу массив, поступающий из API, каждый раз, когда я изменяю ввод, но я не знаю, почему мой выбор не загружает данные.

Это пример ответа API:

[
  {
    "label": "TEST1",
    "value": "1",
    "location": "ZZZZZ"
  },
  {
    "label": "TEST3",
    "value": "2",
    "location": "MADRID"
  },
  {
    "label": "TEST3",
    "value": "3",
    "location": "TRIANA"
  }
]
...