Как установить начальное значение в теге Select в React - PullRequest
1 голос
/ 29 марта 2020

Существует тег Select , для которого я хочу иметь начальное значение и установить для этого начального значения переменную name , тег выбора:

<Field
  name="data.account"
  render={({ field: { name, ...restFieldProps } }) => (
    <Column>
      <Select
        {...restFieldProps}
        value={pl =>
          setFieldValue(name, pl)
        }
        onChange={value => setFieldValue(name, value)}
        placeholder={pl}
        width={300}
        disabled={false}
      >
        <SelectOption value="k1" label="v1" />;
        <SelectOption value="k2" label="v2" />;
      </Select>

    </Column>
  )}
/> 

Проблема в том, что всякий раз, когда я выбираю что-то из выпадающего списка, переменная инициализируется, но не иначе.

Обычно вызывается onChange и устанавливается значение, когда я выбираю что-то из раскрывающегося списка, но оно не устанавливается, когда я не нажимаю на раскрывающийся список, чтобы справиться с этим. записали параметр значение в тег Select , но он не работает.

Может кто-нибудь подсказать, что может быть не так в этом теге Select?

(Примечание: переменная pl имеет правильное значение, проверяется путем добавления его в заполнитель)

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

О, я понимаю, вы имеете в виду, как это?

something.map(item => 
const isSelected = item === initialValue;
return   <SelectOption value="k1" label="v1"  selected={isSelected}/>;
})

или

something.map(item => 
const isSelected = item === fieldValuee;
return   <SelectOption value="k1" label="v1"  selected={isSelected}/>;
})
0 голосов
/ 29 марта 2020

Насколько я знаю, вы должны написать выбранную опцию в SelectOption, как это,

<Field
  name="data.account"
  render={({ field: { name, ...restFieldProps } }) => (
    <Column>
      <Select
        {...restFieldProps}
        value={pl =>
          setFieldValue(name, pl)
        }
        onChange={value => setFieldValue(name, value)}
        placeholder={pl}
        width={300}
        disabled={false}
      >
        <SelectOption value="k1" label="v1"  selected={true}/>;
        <SelectOption value="k2" label="v2" />;
      </Select>

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