React-Select с GraphQL - PullRequest
       15

React-Select с GraphQL

0 голосов
/ 25 апреля 2020

Как поместить значения запроса в опции выбора? Я попытался сделать карту из массива, но значения не отображаются. Я знаю, что значения приходят, потому что журнал в запросе, но я не знаю, как загрузить их в select.

  const { data: admData, loading } = useQuery(GET_DIRECTOR_USERS, {
    onError: (error) => {
      console.log("erro", error);
    },
    onCompleted: (users) => {
      console.log(admData);
    },
  });
  
  
  
        return (
        <Container>
          <Form onSubmit={handleSubmit}>
            <Label>ASSOCIADO A QUAL DIRETOR</Label>
            {!loading && (
              <Select
                className="s"
                theme={(theme) => ({
                  ...theme,
                  borderRadius: 10,
                  colors: {
                    ...theme.colors,
                    primary: "#d3d3d3",
                  },
                })}
                name="adm_director_id"
                placeholder=""
                options={admData.getDirectorUsers.map(
                  (users: any) => users.name
                )}
              />
            )}
          </Form>
        </Container>
      );

1 Ответ

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

Вы должны сопоставить значения API с параметром Выбрать объекты , например:

options={admData.getDirectorUsers.map(user => ({ label: user.name, value: user.id });

в react-select каждая опция должна быть объектом { label: string, value: string } (вы можете включить даже другие ключи в объекте, но это необходимо).

Документы здесь

...